├── .gitignore ├── CMakeLists.txt ├── README.md ├── build_with_ninja.sh ├── example ├── CMakeLists.txt └── example.cpp ├── external └── boost │ ├── aligned_storage.hpp │ ├── any.hpp │ ├── archive │ ├── archive_exception.hpp │ └── detail │ │ ├── abi_prefix.hpp │ │ ├── abi_suffix.hpp │ │ └── decl.hpp │ ├── assert.hpp │ ├── assert │ └── source_location.hpp │ ├── bind.hpp │ ├── bind │ ├── arg.hpp │ ├── bind.hpp │ ├── bind_cc.hpp │ ├── bind_mf2_cc.hpp │ ├── bind_mf_cc.hpp │ ├── bind_template.hpp │ ├── mem_fn.hpp │ ├── mem_fn_cc.hpp │ ├── mem_fn_template.hpp │ ├── mem_fn_vw.hpp │ ├── placeholders.hpp │ └── storage.hpp │ ├── call_traits.hpp │ ├── checked_delete.hpp │ ├── concept │ ├── assert.hpp │ ├── detail │ │ ├── backward_compatibility.hpp │ │ ├── borland.hpp │ │ ├── concept_def.hpp │ │ ├── concept_undef.hpp │ │ ├── general.hpp │ │ ├── has_constraints.hpp │ │ └── msvc.hpp │ └── usage.hpp │ ├── concept_check.hpp │ ├── config.hpp │ ├── config │ ├── abi │ │ ├── borland_prefix.hpp │ │ ├── borland_suffix.hpp │ │ ├── msvc_prefix.hpp │ │ └── msvc_suffix.hpp │ ├── abi_prefix.hpp │ ├── abi_suffix.hpp │ ├── auto_link.hpp │ ├── compiler │ │ ├── borland.hpp │ │ ├── clang.hpp │ │ ├── codegear.hpp │ │ ├── comeau.hpp │ │ ├── common_edg.hpp │ │ ├── compaq_cxx.hpp │ │ ├── cray.hpp │ │ ├── diab.hpp │ │ ├── digitalmars.hpp │ │ ├── gcc.hpp │ │ ├── gcc_xml.hpp │ │ ├── greenhills.hpp │ │ ├── hp_acc.hpp │ │ ├── intel.hpp │ │ ├── kai.hpp │ │ ├── metrowerks.hpp │ │ ├── mpw.hpp │ │ ├── nvcc.hpp │ │ ├── pathscale.hpp │ │ ├── pgi.hpp │ │ ├── sgi_mipspro.hpp │ │ ├── sunpro_cc.hpp │ │ ├── vacpp.hpp │ │ ├── visualc.hpp │ │ ├── xlcpp.hpp │ │ └── xlcpp_zos.hpp │ ├── detail │ │ ├── posix_features.hpp │ │ ├── select_compiler_config.hpp │ │ ├── select_platform_config.hpp │ │ ├── select_stdlib_config.hpp │ │ └── suffix.hpp │ ├── header_deprecated.hpp │ ├── helper_macros.hpp │ ├── no_tr1 │ │ ├── cmath.hpp │ │ ├── complex.hpp │ │ ├── functional.hpp │ │ ├── memory.hpp │ │ └── utility.hpp │ ├── platform │ │ ├── aix.hpp │ │ ├── amigaos.hpp │ │ ├── beos.hpp │ │ ├── bsd.hpp │ │ ├── cloudabi.hpp │ │ ├── cray.hpp │ │ ├── cygwin.hpp │ │ ├── haiku.hpp │ │ ├── hpux.hpp │ │ ├── irix.hpp │ │ ├── linux.hpp │ │ ├── macos.hpp │ │ ├── qnxnto.hpp │ │ ├── solaris.hpp │ │ ├── symbian.hpp │ │ ├── vms.hpp │ │ ├── vxworks.hpp │ │ ├── win32.hpp │ │ └── zos.hpp │ ├── pragma_message.hpp │ ├── requires_threads.hpp │ ├── stdlib │ │ ├── dinkumware.hpp │ │ ├── libcomo.hpp │ │ ├── libcpp.hpp │ │ ├── libstdcpp3.hpp │ │ ├── modena.hpp │ │ ├── msl.hpp │ │ ├── roguewave.hpp │ │ ├── sgi.hpp │ │ ├── stlport.hpp │ │ ├── vacpp.hpp │ │ └── xlcpp_zos.hpp │ ├── user.hpp │ ├── warning_disable.hpp │ └── workaround.hpp │ ├── container_hash │ ├── detail │ │ ├── float_functions.hpp │ │ ├── hash_float.hpp │ │ └── limits.hpp │ ├── extensions.hpp │ ├── hash.hpp │ └── hash_fwd.hpp │ ├── core │ ├── addressof.hpp │ ├── checked_delete.hpp │ ├── demangle.hpp │ ├── enable_if.hpp │ ├── explicit_operator_bool.hpp │ ├── ignore_unused.hpp │ ├── is_same.hpp │ ├── no_exceptions_support.hpp │ ├── noncopyable.hpp │ ├── nvp.hpp │ ├── ref.hpp │ ├── swap.hpp │ ├── typeinfo.hpp │ └── use_default.hpp │ ├── cstdint.hpp │ ├── current_function.hpp │ ├── detail │ ├── call_traits.hpp │ ├── container_fwd.hpp │ ├── indirect_traits.hpp │ ├── iterator.hpp │ ├── lightweight_mutex.hpp │ ├── no_exceptions_support.hpp │ ├── reference_content.hpp │ ├── select_type.hpp │ └── workaround.hpp │ ├── exception │ └── exception.hpp │ ├── foreach_fwd.hpp │ ├── format.hpp │ ├── format │ ├── alt_sstream.hpp │ ├── alt_sstream_impl.hpp │ ├── detail │ │ ├── compat_workarounds.hpp │ │ ├── config_macros.hpp │ │ ├── msvc_disambiguater.hpp │ │ ├── unset_macros.hpp │ │ ├── workarounds_gcc-2_95.hpp │ │ └── workarounds_stlport.hpp │ ├── exceptions.hpp │ ├── feed_args.hpp │ ├── format_class.hpp │ ├── format_fwd.hpp │ ├── format_implementation.hpp │ ├── free_funcs.hpp │ ├── group.hpp │ ├── internals.hpp │ ├── internals_fwd.hpp │ └── parsing.hpp │ ├── get_pointer.hpp │ ├── integer │ └── static_log2.hpp │ ├── integer_fwd.hpp │ ├── integer_traits.hpp │ ├── is_placeholder.hpp │ ├── iterator │ ├── advance.hpp │ ├── detail │ │ ├── config_def.hpp │ │ ├── config_undef.hpp │ │ ├── enable_if.hpp │ │ └── facade_iterator_category.hpp │ ├── distance.hpp │ ├── interoperable.hpp │ ├── iterator_adaptor.hpp │ ├── iterator_categories.hpp │ ├── iterator_concepts.hpp │ ├── iterator_facade.hpp │ ├── iterator_traits.hpp │ └── reverse_iterator.hpp │ ├── limits.hpp │ ├── mem_fn.hpp │ ├── move │ ├── core.hpp │ ├── detail │ │ ├── config_begin.hpp │ │ ├── config_end.hpp │ │ ├── meta_utils.hpp │ │ ├── meta_utils_core.hpp │ │ ├── type_traits.hpp │ │ └── workaround.hpp │ ├── traits.hpp │ ├── utility.hpp │ └── utility_core.hpp │ ├── mpl │ ├── O1_size.hpp │ ├── O1_size_fwd.hpp │ ├── advance.hpp │ ├── advance_fwd.hpp │ ├── always.hpp │ ├── and.hpp │ ├── apply.hpp │ ├── apply_fwd.hpp │ ├── apply_wrap.hpp │ ├── arg.hpp │ ├── arg_fwd.hpp │ ├── assert.hpp │ ├── at.hpp │ ├── at_fwd.hpp │ ├── aux_ │ │ ├── O1_size_impl.hpp │ │ ├── adl_barrier.hpp │ │ ├── advance_backward.hpp │ │ ├── advance_forward.hpp │ │ ├── arg_typedef.hpp │ │ ├── arithmetic_op.hpp │ │ ├── arity.hpp │ │ ├── arity_spec.hpp │ │ ├── at_impl.hpp │ │ ├── begin_end_impl.hpp │ │ ├── clear_impl.hpp │ │ ├── common_name_wknd.hpp │ │ ├── comparison_op.hpp │ │ ├── config │ │ │ ├── adl.hpp │ │ │ ├── arrays.hpp │ │ │ ├── bcc.hpp │ │ │ ├── bind.hpp │ │ │ ├── compiler.hpp │ │ │ ├── ctps.hpp │ │ │ ├── dmc_ambiguous_ctps.hpp │ │ │ ├── dtp.hpp │ │ │ ├── eti.hpp │ │ │ ├── forwarding.hpp │ │ │ ├── gcc.hpp │ │ │ ├── gpu.hpp │ │ │ ├── has_apply.hpp │ │ │ ├── has_xxx.hpp │ │ │ ├── integral.hpp │ │ │ ├── intel.hpp │ │ │ ├── lambda.hpp │ │ │ ├── msvc.hpp │ │ │ ├── msvc_typename.hpp │ │ │ ├── nttp.hpp │ │ │ ├── operators.hpp │ │ │ ├── overload_resolution.hpp │ │ │ ├── pp_counter.hpp │ │ │ ├── preprocessor.hpp │ │ │ ├── static_constant.hpp │ │ │ ├── ttp.hpp │ │ │ ├── typeof.hpp │ │ │ ├── use_preprocessed.hpp │ │ │ └── workaround.hpp │ │ ├── contains_impl.hpp │ │ ├── count_args.hpp │ │ ├── empty_impl.hpp │ │ ├── find_if_pred.hpp │ │ ├── fold_impl.hpp │ │ ├── fold_impl_body.hpp │ │ ├── full_lambda.hpp │ │ ├── has_apply.hpp │ │ ├── has_begin.hpp │ │ ├── has_key_impl.hpp │ │ ├── has_rebind.hpp │ │ ├── has_size.hpp │ │ ├── has_tag.hpp │ │ ├── has_type.hpp │ │ ├── include_preprocessed.hpp │ │ ├── insert_impl.hpp │ │ ├── inserter_algorithm.hpp │ │ ├── integral_wrapper.hpp │ │ ├── is_msvc_eti_arg.hpp │ │ ├── iter_apply.hpp │ │ ├── iter_fold_if_impl.hpp │ │ ├── iter_fold_impl.hpp │ │ ├── lambda_arity_param.hpp │ │ ├── lambda_no_ctps.hpp │ │ ├── lambda_spec.hpp │ │ ├── lambda_support.hpp │ │ ├── largest_int.hpp │ │ ├── logical_op.hpp │ │ ├── msvc_dtw.hpp │ │ ├── msvc_eti_base.hpp │ │ ├── msvc_is_class.hpp │ │ ├── msvc_never_true.hpp │ │ ├── msvc_type.hpp │ │ ├── na.hpp │ │ ├── na_assert.hpp │ │ ├── na_fwd.hpp │ │ ├── na_spec.hpp │ │ ├── nested_type_wknd.hpp │ │ ├── nttp_decl.hpp │ │ ├── numeric_cast_utils.hpp │ │ ├── numeric_op.hpp │ │ ├── overload_names.hpp │ │ ├── preprocessed │ │ │ ├── bcc │ │ │ │ ├── advance_backward.hpp │ │ │ │ ├── advance_forward.hpp │ │ │ │ ├── and.hpp │ │ │ │ ├── apply.hpp │ │ │ │ ├── apply_fwd.hpp │ │ │ │ ├── apply_wrap.hpp │ │ │ │ ├── arg.hpp │ │ │ │ ├── basic_bind.hpp │ │ │ │ ├── bind.hpp │ │ │ │ ├── bind_fwd.hpp │ │ │ │ ├── bitand.hpp │ │ │ │ ├── bitor.hpp │ │ │ │ ├── bitxor.hpp │ │ │ │ ├── deque.hpp │ │ │ │ ├── divides.hpp │ │ │ │ ├── equal_to.hpp │ │ │ │ ├── fold_impl.hpp │ │ │ │ ├── full_lambda.hpp │ │ │ │ ├── greater.hpp │ │ │ │ ├── greater_equal.hpp │ │ │ │ ├── inherit.hpp │ │ │ │ ├── iter_fold_if_impl.hpp │ │ │ │ ├── iter_fold_impl.hpp │ │ │ │ ├── lambda_no_ctps.hpp │ │ │ │ ├── less.hpp │ │ │ │ ├── less_equal.hpp │ │ │ │ ├── list.hpp │ │ │ │ ├── list_c.hpp │ │ │ │ ├── map.hpp │ │ │ │ ├── minus.hpp │ │ │ │ ├── modulus.hpp │ │ │ │ ├── not_equal_to.hpp │ │ │ │ ├── or.hpp │ │ │ │ ├── placeholders.hpp │ │ │ │ ├── plus.hpp │ │ │ │ ├── quote.hpp │ │ │ │ ├── reverse_fold_impl.hpp │ │ │ │ ├── reverse_iter_fold_impl.hpp │ │ │ │ ├── set.hpp │ │ │ │ ├── set_c.hpp │ │ │ │ ├── shift_left.hpp │ │ │ │ ├── shift_right.hpp │ │ │ │ ├── template_arity.hpp │ │ │ │ ├── times.hpp │ │ │ │ ├── unpack_args.hpp │ │ │ │ ├── vector.hpp │ │ │ │ └── vector_c.hpp │ │ │ ├── bcc551 │ │ │ │ ├── advance_backward.hpp │ │ │ │ ├── advance_forward.hpp │ │ │ │ ├── and.hpp │ │ │ │ ├── apply.hpp │ │ │ │ ├── apply_fwd.hpp │ │ │ │ ├── apply_wrap.hpp │ │ │ │ ├── arg.hpp │ │ │ │ ├── basic_bind.hpp │ │ │ │ ├── bind.hpp │ │ │ │ ├── bind_fwd.hpp │ │ │ │ ├── bitand.hpp │ │ │ │ ├── bitor.hpp │ │ │ │ ├── bitxor.hpp │ │ │ │ ├── deque.hpp │ │ │ │ ├── divides.hpp │ │ │ │ ├── equal_to.hpp │ │ │ │ ├── fold_impl.hpp │ │ │ │ ├── full_lambda.hpp │ │ │ │ ├── greater.hpp │ │ │ │ ├── greater_equal.hpp │ │ │ │ ├── inherit.hpp │ │ │ │ ├── iter_fold_if_impl.hpp │ │ │ │ ├── iter_fold_impl.hpp │ │ │ │ ├── lambda_no_ctps.hpp │ │ │ │ ├── less.hpp │ │ │ │ ├── less_equal.hpp │ │ │ │ ├── list.hpp │ │ │ │ ├── list_c.hpp │ │ │ │ ├── map.hpp │ │ │ │ ├── minus.hpp │ │ │ │ ├── modulus.hpp │ │ │ │ ├── not_equal_to.hpp │ │ │ │ ├── or.hpp │ │ │ │ ├── placeholders.hpp │ │ │ │ ├── plus.hpp │ │ │ │ ├── quote.hpp │ │ │ │ ├── reverse_fold_impl.hpp │ │ │ │ ├── reverse_iter_fold_impl.hpp │ │ │ │ ├── set.hpp │ │ │ │ ├── set_c.hpp │ │ │ │ ├── shift_left.hpp │ │ │ │ ├── shift_right.hpp │ │ │ │ ├── template_arity.hpp │ │ │ │ ├── times.hpp │ │ │ │ ├── unpack_args.hpp │ │ │ │ ├── vector.hpp │ │ │ │ └── vector_c.hpp │ │ │ ├── bcc_pre590 │ │ │ │ ├── advance_backward.hpp │ │ │ │ ├── advance_forward.hpp │ │ │ │ ├── and.hpp │ │ │ │ ├── apply.hpp │ │ │ │ ├── apply_fwd.hpp │ │ │ │ ├── apply_wrap.hpp │ │ │ │ ├── arg.hpp │ │ │ │ ├── basic_bind.hpp │ │ │ │ ├── bind.hpp │ │ │ │ ├── bind_fwd.hpp │ │ │ │ ├── bitand.hpp │ │ │ │ ├── bitor.hpp │ │ │ │ ├── bitxor.hpp │ │ │ │ ├── deque.hpp │ │ │ │ ├── divides.hpp │ │ │ │ ├── equal_to.hpp │ │ │ │ ├── fold_impl.hpp │ │ │ │ ├── full_lambda.hpp │ │ │ │ ├── greater.hpp │ │ │ │ ├── greater_equal.hpp │ │ │ │ ├── inherit.hpp │ │ │ │ ├── iter_fold_if_impl.hpp │ │ │ │ ├── iter_fold_impl.hpp │ │ │ │ ├── lambda_no_ctps.hpp │ │ │ │ ├── less.hpp │ │ │ │ ├── less_equal.hpp │ │ │ │ ├── list.hpp │ │ │ │ ├── list_c.hpp │ │ │ │ ├── map.hpp │ │ │ │ ├── minus.hpp │ │ │ │ ├── modulus.hpp │ │ │ │ ├── not_equal_to.hpp │ │ │ │ ├── or.hpp │ │ │ │ ├── placeholders.hpp │ │ │ │ ├── plus.hpp │ │ │ │ ├── quote.hpp │ │ │ │ ├── reverse_fold_impl.hpp │ │ │ │ ├── reverse_iter_fold_impl.hpp │ │ │ │ ├── set.hpp │ │ │ │ ├── set_c.hpp │ │ │ │ ├── shift_left.hpp │ │ │ │ ├── shift_right.hpp │ │ │ │ ├── template_arity.hpp │ │ │ │ ├── times.hpp │ │ │ │ ├── unpack_args.hpp │ │ │ │ ├── vector.hpp │ │ │ │ └── vector_c.hpp │ │ │ ├── dmc │ │ │ │ ├── advance_backward.hpp │ │ │ │ ├── advance_forward.hpp │ │ │ │ ├── and.hpp │ │ │ │ ├── apply.hpp │ │ │ │ ├── apply_fwd.hpp │ │ │ │ ├── apply_wrap.hpp │ │ │ │ ├── arg.hpp │ │ │ │ ├── basic_bind.hpp │ │ │ │ ├── bind.hpp │ │ │ │ ├── bind_fwd.hpp │ │ │ │ ├── bitand.hpp │ │ │ │ ├── bitor.hpp │ │ │ │ ├── bitxor.hpp │ │ │ │ ├── deque.hpp │ │ │ │ ├── divides.hpp │ │ │ │ ├── equal_to.hpp │ │ │ │ ├── fold_impl.hpp │ │ │ │ ├── full_lambda.hpp │ │ │ │ ├── greater.hpp │ │ │ │ ├── greater_equal.hpp │ │ │ │ ├── inherit.hpp │ │ │ │ ├── iter_fold_if_impl.hpp │ │ │ │ ├── iter_fold_impl.hpp │ │ │ │ ├── lambda_no_ctps.hpp │ │ │ │ ├── less.hpp │ │ │ │ ├── less_equal.hpp │ │ │ │ ├── list.hpp │ │ │ │ ├── list_c.hpp │ │ │ │ ├── map.hpp │ │ │ │ ├── minus.hpp │ │ │ │ ├── modulus.hpp │ │ │ │ ├── not_equal_to.hpp │ │ │ │ ├── or.hpp │ │ │ │ ├── placeholders.hpp │ │ │ │ ├── plus.hpp │ │ │ │ ├── quote.hpp │ │ │ │ ├── reverse_fold_impl.hpp │ │ │ │ ├── reverse_iter_fold_impl.hpp │ │ │ │ ├── set.hpp │ │ │ │ ├── set_c.hpp │ │ │ │ ├── shift_left.hpp │ │ │ │ ├── shift_right.hpp │ │ │ │ ├── template_arity.hpp │ │ │ │ ├── times.hpp │ │ │ │ ├── unpack_args.hpp │ │ │ │ ├── vector.hpp │ │ │ │ └── vector_c.hpp │ │ │ ├── gcc │ │ │ │ ├── advance_backward.hpp │ │ │ │ ├── advance_forward.hpp │ │ │ │ ├── and.hpp │ │ │ │ ├── apply.hpp │ │ │ │ ├── apply_fwd.hpp │ │ │ │ ├── apply_wrap.hpp │ │ │ │ ├── arg.hpp │ │ │ │ ├── basic_bind.hpp │ │ │ │ ├── bind.hpp │ │ │ │ ├── bind_fwd.hpp │ │ │ │ ├── bitand.hpp │ │ │ │ ├── bitor.hpp │ │ │ │ ├── bitxor.hpp │ │ │ │ ├── deque.hpp │ │ │ │ ├── divides.hpp │ │ │ │ ├── equal_to.hpp │ │ │ │ ├── fold_impl.hpp │ │ │ │ ├── full_lambda.hpp │ │ │ │ ├── greater.hpp │ │ │ │ ├── greater_equal.hpp │ │ │ │ ├── inherit.hpp │ │ │ │ ├── iter_fold_if_impl.hpp │ │ │ │ ├── iter_fold_impl.hpp │ │ │ │ ├── lambda_no_ctps.hpp │ │ │ │ ├── less.hpp │ │ │ │ ├── less_equal.hpp │ │ │ │ ├── list.hpp │ │ │ │ ├── list_c.hpp │ │ │ │ ├── map.hpp │ │ │ │ ├── minus.hpp │ │ │ │ ├── modulus.hpp │ │ │ │ ├── not_equal_to.hpp │ │ │ │ ├── or.hpp │ │ │ │ ├── placeholders.hpp │ │ │ │ ├── plus.hpp │ │ │ │ ├── quote.hpp │ │ │ │ ├── reverse_fold_impl.hpp │ │ │ │ ├── reverse_iter_fold_impl.hpp │ │ │ │ ├── set.hpp │ │ │ │ ├── set_c.hpp │ │ │ │ ├── shift_left.hpp │ │ │ │ ├── shift_right.hpp │ │ │ │ ├── template_arity.hpp │ │ │ │ ├── times.hpp │ │ │ │ ├── unpack_args.hpp │ │ │ │ ├── vector.hpp │ │ │ │ └── vector_c.hpp │ │ │ ├── msvc60 │ │ │ │ ├── advance_backward.hpp │ │ │ │ ├── advance_forward.hpp │ │ │ │ ├── and.hpp │ │ │ │ ├── apply.hpp │ │ │ │ ├── apply_fwd.hpp │ │ │ │ ├── apply_wrap.hpp │ │ │ │ ├── arg.hpp │ │ │ │ ├── basic_bind.hpp │ │ │ │ ├── bind.hpp │ │ │ │ ├── bind_fwd.hpp │ │ │ │ ├── bitand.hpp │ │ │ │ ├── bitor.hpp │ │ │ │ ├── bitxor.hpp │ │ │ │ ├── deque.hpp │ │ │ │ ├── divides.hpp │ │ │ │ ├── equal_to.hpp │ │ │ │ ├── fold_impl.hpp │ │ │ │ ├── full_lambda.hpp │ │ │ │ ├── greater.hpp │ │ │ │ ├── greater_equal.hpp │ │ │ │ ├── inherit.hpp │ │ │ │ ├── iter_fold_if_impl.hpp │ │ │ │ ├── iter_fold_impl.hpp │ │ │ │ ├── lambda_no_ctps.hpp │ │ │ │ ├── less.hpp │ │ │ │ ├── less_equal.hpp │ │ │ │ ├── list.hpp │ │ │ │ ├── list_c.hpp │ │ │ │ ├── map.hpp │ │ │ │ ├── minus.hpp │ │ │ │ ├── modulus.hpp │ │ │ │ ├── not_equal_to.hpp │ │ │ │ ├── or.hpp │ │ │ │ ├── placeholders.hpp │ │ │ │ ├── plus.hpp │ │ │ │ ├── quote.hpp │ │ │ │ ├── reverse_fold_impl.hpp │ │ │ │ ├── reverse_iter_fold_impl.hpp │ │ │ │ ├── set.hpp │ │ │ │ ├── set_c.hpp │ │ │ │ ├── shift_left.hpp │ │ │ │ ├── shift_right.hpp │ │ │ │ ├── template_arity.hpp │ │ │ │ ├── times.hpp │ │ │ │ ├── unpack_args.hpp │ │ │ │ ├── vector.hpp │ │ │ │ └── vector_c.hpp │ │ │ ├── msvc70 │ │ │ │ ├── advance_backward.hpp │ │ │ │ ├── advance_forward.hpp │ │ │ │ ├── and.hpp │ │ │ │ ├── apply.hpp │ │ │ │ ├── apply_fwd.hpp │ │ │ │ ├── apply_wrap.hpp │ │ │ │ ├── arg.hpp │ │ │ │ ├── basic_bind.hpp │ │ │ │ ├── bind.hpp │ │ │ │ ├── bind_fwd.hpp │ │ │ │ ├── bitand.hpp │ │ │ │ ├── bitor.hpp │ │ │ │ ├── bitxor.hpp │ │ │ │ ├── deque.hpp │ │ │ │ ├── divides.hpp │ │ │ │ ├── equal_to.hpp │ │ │ │ ├── fold_impl.hpp │ │ │ │ ├── full_lambda.hpp │ │ │ │ ├── greater.hpp │ │ │ │ ├── greater_equal.hpp │ │ │ │ ├── inherit.hpp │ │ │ │ ├── iter_fold_if_impl.hpp │ │ │ │ ├── iter_fold_impl.hpp │ │ │ │ ├── lambda_no_ctps.hpp │ │ │ │ ├── less.hpp │ │ │ │ ├── less_equal.hpp │ │ │ │ ├── list.hpp │ │ │ │ ├── list_c.hpp │ │ │ │ ├── map.hpp │ │ │ │ ├── minus.hpp │ │ │ │ ├── modulus.hpp │ │ │ │ ├── not_equal_to.hpp │ │ │ │ ├── or.hpp │ │ │ │ ├── placeholders.hpp │ │ │ │ ├── plus.hpp │ │ │ │ ├── quote.hpp │ │ │ │ ├── reverse_fold_impl.hpp │ │ │ │ ├── reverse_iter_fold_impl.hpp │ │ │ │ ├── set.hpp │ │ │ │ ├── set_c.hpp │ │ │ │ ├── shift_left.hpp │ │ │ │ ├── shift_right.hpp │ │ │ │ ├── template_arity.hpp │ │ │ │ ├── times.hpp │ │ │ │ ├── unpack_args.hpp │ │ │ │ ├── vector.hpp │ │ │ │ └── vector_c.hpp │ │ │ ├── mwcw │ │ │ │ ├── advance_backward.hpp │ │ │ │ ├── advance_forward.hpp │ │ │ │ ├── and.hpp │ │ │ │ ├── apply.hpp │ │ │ │ ├── apply_fwd.hpp │ │ │ │ ├── apply_wrap.hpp │ │ │ │ ├── arg.hpp │ │ │ │ ├── basic_bind.hpp │ │ │ │ ├── bind.hpp │ │ │ │ ├── bind_fwd.hpp │ │ │ │ ├── bitand.hpp │ │ │ │ ├── bitor.hpp │ │ │ │ ├── bitxor.hpp │ │ │ │ ├── deque.hpp │ │ │ │ ├── divides.hpp │ │ │ │ ├── equal_to.hpp │ │ │ │ ├── fold_impl.hpp │ │ │ │ ├── full_lambda.hpp │ │ │ │ ├── greater.hpp │ │ │ │ ├── greater_equal.hpp │ │ │ │ ├── inherit.hpp │ │ │ │ ├── iter_fold_if_impl.hpp │ │ │ │ ├── iter_fold_impl.hpp │ │ │ │ ├── lambda_no_ctps.hpp │ │ │ │ ├── less.hpp │ │ │ │ ├── less_equal.hpp │ │ │ │ ├── list.hpp │ │ │ │ ├── list_c.hpp │ │ │ │ ├── map.hpp │ │ │ │ ├── minus.hpp │ │ │ │ ├── modulus.hpp │ │ │ │ ├── not_equal_to.hpp │ │ │ │ ├── or.hpp │ │ │ │ ├── placeholders.hpp │ │ │ │ ├── plus.hpp │ │ │ │ ├── quote.hpp │ │ │ │ ├── reverse_fold_impl.hpp │ │ │ │ ├── reverse_iter_fold_impl.hpp │ │ │ │ ├── set.hpp │ │ │ │ ├── set_c.hpp │ │ │ │ ├── shift_left.hpp │ │ │ │ ├── shift_right.hpp │ │ │ │ ├── template_arity.hpp │ │ │ │ ├── times.hpp │ │ │ │ ├── unpack_args.hpp │ │ │ │ ├── vector.hpp │ │ │ │ └── vector_c.hpp │ │ │ ├── no_ctps │ │ │ │ ├── advance_backward.hpp │ │ │ │ ├── advance_forward.hpp │ │ │ │ ├── and.hpp │ │ │ │ ├── apply.hpp │ │ │ │ ├── apply_fwd.hpp │ │ │ │ ├── apply_wrap.hpp │ │ │ │ ├── arg.hpp │ │ │ │ ├── basic_bind.hpp │ │ │ │ ├── bind.hpp │ │ │ │ ├── bind_fwd.hpp │ │ │ │ ├── bitand.hpp │ │ │ │ ├── bitor.hpp │ │ │ │ ├── bitxor.hpp │ │ │ │ ├── deque.hpp │ │ │ │ ├── divides.hpp │ │ │ │ ├── equal_to.hpp │ │ │ │ ├── fold_impl.hpp │ │ │ │ ├── full_lambda.hpp │ │ │ │ ├── greater.hpp │ │ │ │ ├── greater_equal.hpp │ │ │ │ ├── inherit.hpp │ │ │ │ ├── iter_fold_if_impl.hpp │ │ │ │ ├── iter_fold_impl.hpp │ │ │ │ ├── lambda_no_ctps.hpp │ │ │ │ ├── less.hpp │ │ │ │ ├── less_equal.hpp │ │ │ │ ├── list.hpp │ │ │ │ ├── list_c.hpp │ │ │ │ ├── map.hpp │ │ │ │ ├── minus.hpp │ │ │ │ ├── modulus.hpp │ │ │ │ ├── not_equal_to.hpp │ │ │ │ ├── or.hpp │ │ │ │ ├── placeholders.hpp │ │ │ │ ├── plus.hpp │ │ │ │ ├── quote.hpp │ │ │ │ ├── reverse_fold_impl.hpp │ │ │ │ ├── reverse_iter_fold_impl.hpp │ │ │ │ ├── set.hpp │ │ │ │ ├── set_c.hpp │ │ │ │ ├── shift_left.hpp │ │ │ │ ├── shift_right.hpp │ │ │ │ ├── template_arity.hpp │ │ │ │ ├── times.hpp │ │ │ │ ├── unpack_args.hpp │ │ │ │ ├── vector.hpp │ │ │ │ └── vector_c.hpp │ │ │ ├── no_ttp │ │ │ │ ├── advance_backward.hpp │ │ │ │ ├── advance_forward.hpp │ │ │ │ ├── and.hpp │ │ │ │ ├── apply.hpp │ │ │ │ ├── apply_fwd.hpp │ │ │ │ ├── apply_wrap.hpp │ │ │ │ ├── arg.hpp │ │ │ │ ├── basic_bind.hpp │ │ │ │ ├── bind.hpp │ │ │ │ ├── bind_fwd.hpp │ │ │ │ ├── bitand.hpp │ │ │ │ ├── bitor.hpp │ │ │ │ ├── bitxor.hpp │ │ │ │ ├── deque.hpp │ │ │ │ ├── divides.hpp │ │ │ │ ├── equal_to.hpp │ │ │ │ ├── fold_impl.hpp │ │ │ │ ├── full_lambda.hpp │ │ │ │ ├── greater.hpp │ │ │ │ ├── greater_equal.hpp │ │ │ │ ├── inherit.hpp │ │ │ │ ├── iter_fold_if_impl.hpp │ │ │ │ ├── iter_fold_impl.hpp │ │ │ │ ├── lambda_no_ctps.hpp │ │ │ │ ├── less.hpp │ │ │ │ ├── less_equal.hpp │ │ │ │ ├── list.hpp │ │ │ │ ├── list_c.hpp │ │ │ │ ├── map.hpp │ │ │ │ ├── minus.hpp │ │ │ │ ├── modulus.hpp │ │ │ │ ├── not_equal_to.hpp │ │ │ │ ├── or.hpp │ │ │ │ ├── placeholders.hpp │ │ │ │ ├── plus.hpp │ │ │ │ ├── quote.hpp │ │ │ │ ├── reverse_fold_impl.hpp │ │ │ │ ├── reverse_iter_fold_impl.hpp │ │ │ │ ├── set.hpp │ │ │ │ ├── set_c.hpp │ │ │ │ ├── shift_left.hpp │ │ │ │ ├── shift_right.hpp │ │ │ │ ├── template_arity.hpp │ │ │ │ ├── times.hpp │ │ │ │ ├── unpack_args.hpp │ │ │ │ ├── vector.hpp │ │ │ │ └── vector_c.hpp │ │ │ └── plain │ │ │ │ ├── advance_backward.hpp │ │ │ │ ├── advance_forward.hpp │ │ │ │ ├── and.hpp │ │ │ │ ├── apply.hpp │ │ │ │ ├── apply_fwd.hpp │ │ │ │ ├── apply_wrap.hpp │ │ │ │ ├── arg.hpp │ │ │ │ ├── basic_bind.hpp │ │ │ │ ├── bind.hpp │ │ │ │ ├── bind_fwd.hpp │ │ │ │ ├── bitand.hpp │ │ │ │ ├── bitor.hpp │ │ │ │ ├── bitxor.hpp │ │ │ │ ├── deque.hpp │ │ │ │ ├── divides.hpp │ │ │ │ ├── equal_to.hpp │ │ │ │ ├── fold_impl.hpp │ │ │ │ ├── full_lambda.hpp │ │ │ │ ├── greater.hpp │ │ │ │ ├── greater_equal.hpp │ │ │ │ ├── inherit.hpp │ │ │ │ ├── iter_fold_if_impl.hpp │ │ │ │ ├── iter_fold_impl.hpp │ │ │ │ ├── lambda_no_ctps.hpp │ │ │ │ ├── less.hpp │ │ │ │ ├── less_equal.hpp │ │ │ │ ├── list.hpp │ │ │ │ ├── list_c.hpp │ │ │ │ ├── map.hpp │ │ │ │ ├── minus.hpp │ │ │ │ ├── modulus.hpp │ │ │ │ ├── not_equal_to.hpp │ │ │ │ ├── or.hpp │ │ │ │ ├── placeholders.hpp │ │ │ │ ├── plus.hpp │ │ │ │ ├── quote.hpp │ │ │ │ ├── reverse_fold_impl.hpp │ │ │ │ ├── reverse_iter_fold_impl.hpp │ │ │ │ ├── set.hpp │ │ │ │ ├── set_c.hpp │ │ │ │ ├── shift_left.hpp │ │ │ │ ├── shift_right.hpp │ │ │ │ ├── template_arity.hpp │ │ │ │ ├── times.hpp │ │ │ │ ├── unpack_args.hpp │ │ │ │ ├── vector.hpp │ │ │ │ └── vector_c.hpp │ │ ├── preprocessor │ │ │ ├── add.hpp │ │ │ ├── def_params_tail.hpp │ │ │ ├── default_params.hpp │ │ │ ├── enum.hpp │ │ │ ├── ext_params.hpp │ │ │ ├── filter_params.hpp │ │ │ ├── params.hpp │ │ │ ├── partial_spec_params.hpp │ │ │ ├── range.hpp │ │ │ ├── repeat.hpp │ │ │ ├── sub.hpp │ │ │ └── tuple.hpp │ │ ├── ptr_to_ref.hpp │ │ ├── push_back_impl.hpp │ │ ├── push_front_impl.hpp │ │ ├── reverse_fold_impl.hpp │ │ ├── reverse_fold_impl_body.hpp │ │ ├── reverse_iter_fold_impl.hpp │ │ ├── sequence_wrapper.hpp │ │ ├── size_impl.hpp │ │ ├── static_cast.hpp │ │ ├── template_arity.hpp │ │ ├── template_arity_fwd.hpp │ │ ├── traits_lambda_spec.hpp │ │ ├── type_wrapper.hpp │ │ ├── value_wknd.hpp │ │ └── yes_no.hpp │ ├── back_fwd.hpp │ ├── back_inserter.hpp │ ├── base.hpp │ ├── begin_end.hpp │ ├── begin_end_fwd.hpp │ ├── bind.hpp │ ├── bind_fwd.hpp │ ├── bool.hpp │ ├── bool_fwd.hpp │ ├── clear.hpp │ ├── clear_fwd.hpp │ ├── comparison.hpp │ ├── contains.hpp │ ├── contains_fwd.hpp │ ├── deref.hpp │ ├── distance.hpp │ ├── distance_fwd.hpp │ ├── empty.hpp │ ├── empty_fwd.hpp │ ├── equal_to.hpp │ ├── erase_fwd.hpp │ ├── erase_key_fwd.hpp │ ├── eval_if.hpp │ ├── find.hpp │ ├── find_if.hpp │ ├── fold.hpp │ ├── front_fwd.hpp │ ├── front_inserter.hpp │ ├── greater.hpp │ ├── greater_equal.hpp │ ├── has_key.hpp │ ├── has_key_fwd.hpp │ ├── has_xxx.hpp │ ├── identity.hpp │ ├── if.hpp │ ├── insert.hpp │ ├── insert_fwd.hpp │ ├── insert_range_fwd.hpp │ ├── inserter.hpp │ ├── int.hpp │ ├── int_fwd.hpp │ ├── integral_c.hpp │ ├── integral_c_fwd.hpp │ ├── integral_c_tag.hpp │ ├── is_placeholder.hpp │ ├── is_sequence.hpp │ ├── iter_fold.hpp │ ├── iter_fold_if.hpp │ ├── iterator_category.hpp │ ├── iterator_range.hpp │ ├── iterator_tags.hpp │ ├── key_type_fwd.hpp │ ├── lambda.hpp │ ├── lambda_fwd.hpp │ ├── less.hpp │ ├── less_equal.hpp │ ├── limits │ │ ├── arity.hpp │ │ ├── unrolling.hpp │ │ └── vector.hpp │ ├── logical.hpp │ ├── long.hpp │ ├── long_fwd.hpp │ ├── min_max.hpp │ ├── minus.hpp │ ├── negate.hpp │ ├── next.hpp │ ├── next_prior.hpp │ ├── not.hpp │ ├── not_equal_to.hpp │ ├── numeric_cast.hpp │ ├── or.hpp │ ├── pair.hpp │ ├── pair_view.hpp │ ├── placeholders.hpp │ ├── plus.hpp │ ├── pop_back_fwd.hpp │ ├── pop_front_fwd.hpp │ ├── prior.hpp │ ├── protect.hpp │ ├── push_back.hpp │ ├── push_back_fwd.hpp │ ├── push_front.hpp │ ├── push_front_fwd.hpp │ ├── quote.hpp │ ├── reverse_fold.hpp │ ├── reverse_iter_fold.hpp │ ├── same_as.hpp │ ├── sequence_tag.hpp │ ├── sequence_tag_fwd.hpp │ ├── set │ │ ├── aux_ │ │ │ ├── at_impl.hpp │ │ │ ├── begin_end_impl.hpp │ │ │ ├── clear_impl.hpp │ │ │ ├── empty_impl.hpp │ │ │ ├── erase_impl.hpp │ │ │ ├── erase_key_impl.hpp │ │ │ ├── has_key_impl.hpp │ │ │ ├── insert_impl.hpp │ │ │ ├── insert_range_impl.hpp │ │ │ ├── item.hpp │ │ │ ├── iterator.hpp │ │ │ ├── key_type_impl.hpp │ │ │ ├── set0.hpp │ │ │ ├── size_impl.hpp │ │ │ ├── tag.hpp │ │ │ └── value_type_impl.hpp │ │ └── set0.hpp │ ├── size.hpp │ ├── size_fwd.hpp │ ├── tag.hpp │ ├── transform.hpp │ ├── value_type_fwd.hpp │ ├── vector.hpp │ ├── vector │ │ ├── aux_ │ │ │ ├── O1_size.hpp │ │ │ ├── at.hpp │ │ │ ├── back.hpp │ │ │ ├── begin_end.hpp │ │ │ ├── clear.hpp │ │ │ ├── empty.hpp │ │ │ ├── front.hpp │ │ │ ├── include_preprocessed.hpp │ │ │ ├── item.hpp │ │ │ ├── iterator.hpp │ │ │ ├── numbered.hpp │ │ │ ├── numbered_c.hpp │ │ │ ├── pop_back.hpp │ │ │ ├── pop_front.hpp │ │ │ ├── preprocessed │ │ │ │ ├── no_ctps │ │ │ │ │ ├── vector10.hpp │ │ │ │ │ ├── vector10_c.hpp │ │ │ │ │ ├── vector20.hpp │ │ │ │ │ ├── vector20_c.hpp │ │ │ │ │ ├── vector30.hpp │ │ │ │ │ ├── vector30_c.hpp │ │ │ │ │ ├── vector40.hpp │ │ │ │ │ ├── vector40_c.hpp │ │ │ │ │ ├── vector50.hpp │ │ │ │ │ └── vector50_c.hpp │ │ │ │ ├── plain │ │ │ │ │ ├── vector10.hpp │ │ │ │ │ ├── vector10_c.hpp │ │ │ │ │ ├── vector20.hpp │ │ │ │ │ ├── vector20_c.hpp │ │ │ │ │ ├── vector30.hpp │ │ │ │ │ ├── vector30_c.hpp │ │ │ │ │ ├── vector40.hpp │ │ │ │ │ ├── vector40_c.hpp │ │ │ │ │ ├── vector50.hpp │ │ │ │ │ └── vector50_c.hpp │ │ │ │ └── typeof_based │ │ │ │ │ ├── vector10.hpp │ │ │ │ │ ├── vector10_c.hpp │ │ │ │ │ ├── vector20.hpp │ │ │ │ │ ├── vector20_c.hpp │ │ │ │ │ ├── vector30.hpp │ │ │ │ │ ├── vector30_c.hpp │ │ │ │ │ ├── vector40.hpp │ │ │ │ │ ├── vector40_c.hpp │ │ │ │ │ ├── vector50.hpp │ │ │ │ │ └── vector50_c.hpp │ │ │ ├── push_back.hpp │ │ │ ├── push_front.hpp │ │ │ ├── size.hpp │ │ │ ├── tag.hpp │ │ │ └── vector0.hpp │ │ ├── vector0.hpp │ │ ├── vector0_c.hpp │ │ ├── vector10.hpp │ │ ├── vector10_c.hpp │ │ ├── vector20.hpp │ │ ├── vector20_c.hpp │ │ ├── vector30.hpp │ │ ├── vector30_c.hpp │ │ ├── vector40.hpp │ │ ├── vector40_c.hpp │ │ ├── vector50.hpp │ │ └── vector50_c.hpp │ ├── void.hpp │ └── void_fwd.hpp │ ├── multi_index │ ├── detail │ │ ├── access_specifier.hpp │ │ ├── adl_swap.hpp │ │ ├── allocator_traits.hpp │ │ ├── archive_constructed.hpp │ │ ├── auto_space.hpp │ │ ├── base_type.hpp │ │ ├── bidir_node_iterator.hpp │ │ ├── converter.hpp │ │ ├── copy_map.hpp │ │ ├── do_not_copy_elements_tag.hpp │ │ ├── duplicates_iterator.hpp │ │ ├── has_tag.hpp │ │ ├── header_holder.hpp │ │ ├── ignore_wstrict_aliasing.hpp │ │ ├── index_base.hpp │ │ ├── index_loader.hpp │ │ ├── index_matcher.hpp │ │ ├── index_node_base.hpp │ │ ├── index_saver.hpp │ │ ├── invariant_assert.hpp │ │ ├── is_index_list.hpp │ │ ├── is_transparent.hpp │ │ ├── iter_adaptor.hpp │ │ ├── modify_key_adaptor.hpp │ │ ├── no_duplicate_tags.hpp │ │ ├── node_type.hpp │ │ ├── ord_index_args.hpp │ │ ├── ord_index_impl.hpp │ │ ├── ord_index_impl_fwd.hpp │ │ ├── ord_index_node.hpp │ │ ├── ord_index_ops.hpp │ │ ├── promotes_arg.hpp │ │ ├── raw_ptr.hpp │ │ ├── restore_wstrict_aliasing.hpp │ │ ├── safe_mode.hpp │ │ ├── scope_guard.hpp │ │ ├── seq_index_node.hpp │ │ ├── seq_index_ops.hpp │ │ ├── serialization_version.hpp │ │ ├── uintptr_type.hpp │ │ ├── unbounded.hpp │ │ ├── value_compare.hpp │ │ └── vartempl_support.hpp │ ├── identity.hpp │ ├── identity_fwd.hpp │ ├── indexed_by.hpp │ ├── member.hpp │ ├── ordered_index.hpp │ ├── ordered_index_fwd.hpp │ ├── safe_mode_errors.hpp │ ├── sequenced_index.hpp │ ├── sequenced_index_fwd.hpp │ └── tag.hpp │ ├── multi_index_container.hpp │ ├── multi_index_container_fwd.hpp │ ├── next_prior.hpp │ ├── noncopyable.hpp │ ├── none.hpp │ ├── none_t.hpp │ ├── operators.hpp │ ├── optional.hpp │ ├── optional │ ├── bad_optional_access.hpp │ ├── detail │ │ ├── old_optional_implementation.hpp │ │ ├── optional_aligned_storage.hpp │ │ ├── optional_config.hpp │ │ ├── optional_factory_support.hpp │ │ ├── optional_reference_spec.hpp │ │ ├── optional_relops.hpp │ │ ├── optional_swap.hpp │ │ └── optional_trivially_copyable_base.hpp │ ├── optional.hpp │ ├── optional_fwd.hpp │ └── optional_io.hpp │ ├── preprocessor │ ├── arithmetic │ │ ├── add.hpp │ │ ├── dec.hpp │ │ ├── detail │ │ │ └── div_base.hpp │ │ ├── inc.hpp │ │ ├── mod.hpp │ │ └── sub.hpp │ ├── array │ │ ├── data.hpp │ │ ├── elem.hpp │ │ └── size.hpp │ ├── cat.hpp │ ├── comma_if.hpp │ ├── comparison │ │ ├── less_equal.hpp │ │ └── not_equal.hpp │ ├── config │ │ └── config.hpp │ ├── control │ │ ├── deduce_d.hpp │ │ ├── detail │ │ │ ├── dmc │ │ │ │ └── while.hpp │ │ │ ├── edg │ │ │ │ └── while.hpp │ │ │ ├── msvc │ │ │ │ └── while.hpp │ │ │ └── while.hpp │ │ ├── expr_if.hpp │ │ ├── expr_iif.hpp │ │ ├── if.hpp │ │ ├── iif.hpp │ │ └── while.hpp │ ├── debug │ │ └── error.hpp │ ├── dec.hpp │ ├── detail │ │ ├── auto_rec.hpp │ │ ├── check.hpp │ │ ├── dmc │ │ │ └── auto_rec.hpp │ │ ├── is_binary.hpp │ │ └── split.hpp │ ├── empty.hpp │ ├── enum.hpp │ ├── enum_params.hpp │ ├── enum_params_with_a_default.hpp │ ├── enum_shifted_params.hpp │ ├── expr_if.hpp │ ├── facilities │ │ ├── detail │ │ │ └── is_empty.hpp │ │ ├── empty.hpp │ │ ├── expand.hpp │ │ ├── identity.hpp │ │ ├── intercept.hpp │ │ ├── is_1.hpp │ │ ├── is_empty.hpp │ │ ├── is_empty_variadic.hpp │ │ └── overload.hpp │ ├── identity.hpp │ ├── inc.hpp │ ├── iterate.hpp │ ├── iteration │ │ ├── detail │ │ │ ├── bounds │ │ │ │ ├── lower1.hpp │ │ │ │ ├── lower2.hpp │ │ │ │ ├── lower3.hpp │ │ │ │ ├── lower4.hpp │ │ │ │ ├── lower5.hpp │ │ │ │ ├── upper1.hpp │ │ │ │ ├── upper2.hpp │ │ │ │ ├── upper3.hpp │ │ │ │ ├── upper4.hpp │ │ │ │ └── upper5.hpp │ │ │ ├── finish.hpp │ │ │ ├── iter │ │ │ │ ├── forward1.hpp │ │ │ │ ├── forward2.hpp │ │ │ │ ├── forward3.hpp │ │ │ │ ├── forward4.hpp │ │ │ │ ├── forward5.hpp │ │ │ │ ├── reverse1.hpp │ │ │ │ ├── reverse2.hpp │ │ │ │ ├── reverse3.hpp │ │ │ │ ├── reverse4.hpp │ │ │ │ └── reverse5.hpp │ │ │ ├── local.hpp │ │ │ ├── rlocal.hpp │ │ │ ├── self.hpp │ │ │ └── start.hpp │ │ ├── iterate.hpp │ │ ├── local.hpp │ │ └── self.hpp │ ├── list │ │ ├── adt.hpp │ │ ├── detail │ │ │ ├── dmc │ │ │ │ └── fold_left.hpp │ │ │ ├── edg │ │ │ │ ├── fold_left.hpp │ │ │ │ └── fold_right.hpp │ │ │ ├── fold_left.hpp │ │ │ └── fold_right.hpp │ │ ├── fold_left.hpp │ │ ├── fold_right.hpp │ │ ├── for_each_i.hpp │ │ └── reverse.hpp │ ├── logical │ │ ├── and.hpp │ │ ├── bitand.hpp │ │ ├── bool.hpp │ │ ├── compl.hpp │ │ └── not.hpp │ ├── punctuation │ │ ├── comma.hpp │ │ ├── comma_if.hpp │ │ ├── detail │ │ │ └── is_begin_parens.hpp │ │ └── is_begin_parens.hpp │ ├── repeat.hpp │ ├── repetition │ │ ├── detail │ │ │ ├── dmc │ │ │ │ └── for.hpp │ │ │ ├── edg │ │ │ │ └── for.hpp │ │ │ ├── for.hpp │ │ │ └── msvc │ │ │ │ └── for.hpp │ │ ├── enum.hpp │ │ ├── enum_binary_params.hpp │ │ ├── enum_params.hpp │ │ ├── enum_params_with_a_default.hpp │ │ ├── enum_shifted_params.hpp │ │ ├── enum_trailing_params.hpp │ │ ├── for.hpp │ │ ├── repeat.hpp │ │ └── repeat_from_to.hpp │ ├── seq │ │ ├── cat.hpp │ │ ├── detail │ │ │ ├── is_empty.hpp │ │ │ └── split.hpp │ │ ├── elem.hpp │ │ ├── enum.hpp │ │ ├── first_n.hpp │ │ ├── fold_left.hpp │ │ ├── for_each_i.hpp │ │ ├── rest_n.hpp │ │ ├── seq.hpp │ │ ├── size.hpp │ │ ├── subseq.hpp │ │ └── transform.hpp │ ├── slot │ │ ├── detail │ │ │ ├── counter.hpp │ │ │ ├── def.hpp │ │ │ ├── shared.hpp │ │ │ ├── slot1.hpp │ │ │ ├── slot2.hpp │ │ │ ├── slot3.hpp │ │ │ ├── slot4.hpp │ │ │ └── slot5.hpp │ │ └── slot.hpp │ ├── stringize.hpp │ ├── tuple │ │ ├── detail │ │ │ └── is_single_return.hpp │ │ ├── eat.hpp │ │ ├── elem.hpp │ │ ├── rem.hpp │ │ ├── size.hpp │ │ └── to_list.hpp │ └── variadic │ │ ├── detail │ │ └── has_opt.hpp │ │ ├── elem.hpp │ │ ├── has_opt.hpp │ │ └── size.hpp │ ├── property_tree │ ├── detail │ │ ├── exception_implementation.hpp │ │ ├── file_parser_error.hpp │ │ ├── info_parser_error.hpp │ │ ├── info_parser_read.hpp │ │ ├── info_parser_utils.hpp │ │ ├── info_parser_write.hpp │ │ ├── info_parser_writer_settings.hpp │ │ ├── ptree_implementation.hpp │ │ ├── ptree_utils.hpp │ │ ├── rapidxml.hpp │ │ ├── xml_parser_error.hpp │ │ ├── xml_parser_flags.hpp │ │ ├── xml_parser_read_rapidxml.hpp │ │ ├── xml_parser_utils.hpp │ │ ├── xml_parser_write.hpp │ │ └── xml_parser_writer_settings.hpp │ ├── exceptions.hpp │ ├── id_translator.hpp │ ├── info_parser.hpp │ ├── ini_parser.hpp │ ├── json_parser.hpp │ ├── json_parser │ │ ├── detail │ │ │ ├── narrow_encoding.hpp │ │ │ ├── parser.hpp │ │ │ ├── read.hpp │ │ │ ├── standard_callbacks.hpp │ │ │ ├── wide_encoding.hpp │ │ │ └── write.hpp │ │ └── error.hpp │ ├── ptree.hpp │ ├── ptree_fwd.hpp │ ├── ptree_serialization.hpp │ ├── stream_translator.hpp │ ├── string_path.hpp │ └── xml_parser.hpp │ ├── range │ ├── algorithm │ │ └── equal.hpp │ ├── begin.hpp │ ├── concepts.hpp │ ├── config.hpp │ ├── const_iterator.hpp │ ├── detail │ │ ├── begin.hpp │ │ ├── common.hpp │ │ ├── end.hpp │ │ ├── extract_optional_type.hpp │ │ ├── has_member_size.hpp │ │ ├── implementation_help.hpp │ │ ├── misc_concept.hpp │ │ ├── msvc_has_iterator_workaround.hpp │ │ ├── safe_bool.hpp │ │ └── sfinae.hpp │ ├── difference_type.hpp │ ├── distance.hpp │ ├── empty.hpp │ ├── end.hpp │ ├── functions.hpp │ ├── has_range_iterator.hpp │ ├── iterator.hpp │ ├── iterator_range_core.hpp │ ├── mutable_iterator.hpp │ ├── range_fwd.hpp │ ├── rbegin.hpp │ ├── rend.hpp │ ├── reverse_iterator.hpp │ ├── size.hpp │ ├── size_type.hpp │ └── value_type.hpp │ ├── ref.hpp │ ├── serialization │ ├── access.hpp │ ├── base_object.hpp │ ├── collection_size_type.hpp │ ├── collections_save_imp.hpp │ ├── detail │ │ └── stack_constructor.hpp │ ├── force_include.hpp │ ├── is_bitwise_serializable.hpp │ ├── item_version_type.hpp │ ├── level.hpp │ ├── level_enum.hpp │ ├── nvp.hpp │ ├── serialization.hpp │ ├── split_free.hpp │ ├── split_member.hpp │ ├── strong_typedef.hpp │ ├── tracking.hpp │ ├── tracking_enum.hpp │ ├── traits.hpp │ ├── type_info_implementation.hpp │ ├── utility.hpp │ ├── version.hpp │ ├── void_cast_fwd.hpp │ └── wrapper.hpp │ ├── shared_ptr.hpp │ ├── smart_ptr │ ├── bad_weak_ptr.hpp │ ├── detail │ │ ├── lightweight_mutex.hpp │ │ ├── local_counted_base.hpp │ │ ├── local_sp_deleter.hpp │ │ ├── lwm_pthreads.hpp │ │ ├── lwm_std_mutex.hpp │ │ ├── lwm_win32_cs.hpp │ │ ├── operator_bool.hpp │ │ ├── quick_allocator.hpp │ │ ├── shared_count.hpp │ │ ├── sp_convertible.hpp │ │ ├── sp_counted_base.hpp │ │ ├── sp_counted_base_acc_ia64.hpp │ │ ├── sp_counted_base_aix.hpp │ │ ├── sp_counted_base_clang.hpp │ │ ├── sp_counted_base_cw_ppc.hpp │ │ ├── sp_counted_base_gcc_ia64.hpp │ │ ├── sp_counted_base_gcc_mips.hpp │ │ ├── sp_counted_base_gcc_ppc.hpp │ │ ├── sp_counted_base_gcc_sparc.hpp │ │ ├── sp_counted_base_gcc_x86.hpp │ │ ├── sp_counted_base_nt.hpp │ │ ├── sp_counted_base_pt.hpp │ │ ├── sp_counted_base_snc_ps3.hpp │ │ ├── sp_counted_base_spin.hpp │ │ ├── sp_counted_base_std_atomic.hpp │ │ ├── sp_counted_base_sync.hpp │ │ ├── sp_counted_base_vacpp_ppc.hpp │ │ ├── sp_counted_base_w32.hpp │ │ ├── sp_counted_impl.hpp │ │ ├── sp_disable_deprecated.hpp │ │ ├── sp_has_sync.hpp │ │ ├── sp_interlocked.hpp │ │ ├── sp_noexcept.hpp │ │ ├── sp_nullptr_t.hpp │ │ ├── sp_typeinfo_.hpp │ │ ├── spinlock.hpp │ │ ├── spinlock_gcc_arm.hpp │ │ ├── spinlock_nt.hpp │ │ ├── spinlock_pool.hpp │ │ ├── spinlock_pt.hpp │ │ ├── spinlock_std_atomic.hpp │ │ ├── spinlock_sync.hpp │ │ ├── spinlock_w32.hpp │ │ └── yield_k.hpp │ └── shared_ptr.hpp │ ├── static_assert.hpp │ ├── throw_exception.hpp │ ├── tuple │ ├── detail │ │ └── tuple_basic.hpp │ └── tuple.hpp │ ├── type.hpp │ ├── type_index.hpp │ ├── type_index │ ├── ctti_type_index.hpp │ ├── detail │ │ ├── compile_time_type_info.hpp │ │ ├── ctti_register_class.hpp │ │ └── stl_register_class.hpp │ ├── stl_type_index.hpp │ └── type_index_facade.hpp │ ├── type_traits │ ├── add_const.hpp │ ├── add_cv.hpp │ ├── add_lvalue_reference.hpp │ ├── add_pointer.hpp │ ├── add_reference.hpp │ ├── add_rvalue_reference.hpp │ ├── add_volatile.hpp │ ├── aligned_storage.hpp │ ├── alignment_of.hpp │ ├── conditional.hpp │ ├── conversion_traits.hpp │ ├── cv_traits.hpp │ ├── decay.hpp │ ├── declval.hpp │ ├── detail │ │ ├── config.hpp │ │ ├── has_binary_operator.hpp │ │ ├── is_function_cxx_03.hpp │ │ ├── is_function_cxx_11.hpp │ │ ├── is_function_msvc10_fix.hpp │ │ ├── is_function_ptr_helper.hpp │ │ ├── is_function_ptr_tester.hpp │ │ ├── is_likely_lambda.hpp │ │ ├── is_mem_fun_pointer_impl.hpp │ │ ├── is_mem_fun_pointer_tester.hpp │ │ ├── is_member_function_pointer_cxx_03.hpp │ │ ├── is_member_function_pointer_cxx_11.hpp │ │ ├── is_rvalue_reference_msvc10_fix.hpp │ │ └── yes_no_type.hpp │ ├── enable_if.hpp │ ├── function_traits.hpp │ ├── has_minus.hpp │ ├── has_minus_assign.hpp │ ├── has_nothrow_assign.hpp │ ├── has_nothrow_constructor.hpp │ ├── has_nothrow_copy.hpp │ ├── has_plus.hpp │ ├── has_plus_assign.hpp │ ├── has_trivial_assign.hpp │ ├── has_trivial_constructor.hpp │ ├── has_trivial_copy.hpp │ ├── has_trivial_move_assign.hpp │ ├── has_trivial_move_constructor.hpp │ ├── integral_constant.hpp │ ├── intrinsics.hpp │ ├── is_abstract.hpp │ ├── is_arithmetic.hpp │ ├── is_array.hpp │ ├── is_assignable.hpp │ ├── is_base_and_derived.hpp │ ├── is_base_of.hpp │ ├── is_class.hpp │ ├── is_complete.hpp │ ├── is_const.hpp │ ├── is_constructible.hpp │ ├── is_convertible.hpp │ ├── is_copy_constructible.hpp │ ├── is_default_constructible.hpp │ ├── is_destructible.hpp │ ├── is_enum.hpp │ ├── is_final.hpp │ ├── is_floating_point.hpp │ ├── is_function.hpp │ ├── is_fundamental.hpp │ ├── is_integral.hpp │ ├── is_lvalue_reference.hpp │ ├── is_member_function_pointer.hpp │ ├── is_member_pointer.hpp │ ├── is_noncopyable.hpp │ ├── is_nothrow_move_assignable.hpp │ ├── is_nothrow_move_constructible.hpp │ ├── is_pod.hpp │ ├── is_pointer.hpp │ ├── is_polymorphic.hpp │ ├── is_reference.hpp │ ├── is_rvalue_reference.hpp │ ├── is_same.hpp │ ├── is_scalar.hpp │ ├── is_signed.hpp │ ├── is_union.hpp │ ├── is_unsigned.hpp │ ├── is_void.hpp │ ├── is_volatile.hpp │ ├── make_signed.hpp │ ├── make_unsigned.hpp │ ├── make_void.hpp │ ├── remove_all_extents.hpp │ ├── remove_bounds.hpp │ ├── remove_const.hpp │ ├── remove_cv.hpp │ ├── remove_extent.hpp │ ├── remove_pointer.hpp │ ├── remove_reference.hpp │ ├── remove_volatile.hpp │ ├── type_identity.hpp │ └── type_with_alignment.hpp │ ├── utility.hpp │ ├── utility │ ├── base_from_member.hpp │ ├── binary.hpp │ ├── compare_pointees.hpp │ ├── declval.hpp │ ├── detail │ │ └── result_of_iterate.hpp │ ├── enable_if.hpp │ ├── identity_type.hpp │ ├── result_of.hpp │ └── swap.hpp │ ├── version.hpp │ └── visit_each.hpp ├── include └── pdfixsdksamples │ ├── AcroFormExport.h │ ├── AcroFormImport.h │ ├── AddComment.h │ ├── AddTags.h │ ├── AddWatermark.h │ ├── ApplyRedaction.h │ ├── BookmarksToJson.h │ ├── CertDigitalSignature.h │ ├── CommandRemoveEmptyTags.h │ ├── ConvertRGBToCMYK.h │ ├── ConvertTaggedPdf.h │ ├── ConvertToHtml.h │ ├── ConvertToHtmlEx.h │ ├── ConvertToJson.h │ ├── ConvertToTiff.h │ ├── CopyAnnots.h │ ├── CreateNewDocument.h │ ├── CreateNewDocuments.h │ ├── CreatePage.h │ ├── CreateRedactionMark.h │ ├── DeletePages.h │ ├── DigitalSignature.h │ ├── DocumentMetadata.h │ ├── DocumentSecurity.h │ ├── EditContent.h │ ├── EditPageObjectMCID.h │ ├── EmbedFonts.h │ ├── ExportFormFieldValues.h │ ├── ExtractData.h │ ├── ExtractHighlightedText.h │ ├── ExtractImages.h │ ├── ExtractTables.h │ ├── ExtractText.h │ ├── ExtractTextFromOCGLayer.h │ ├── FillForm.h │ ├── FlattenAnnots.h │ ├── GetWhitespace.h │ ├── ImportFormData.h │ ├── Imposition.h │ ├── Initialization.h │ ├── InsertPages.h │ ├── LicenseReset.h │ ├── LicenseStatus.h │ ├── MakeAccessible.h │ ├── MovePage.h │ ├── NamedDestsToJson.h │ ├── OcrPageImagesWithTesseract.h │ ├── OcrWithTesseract.h │ ├── OpedDocumentFromStream.h │ ├── PagesToJson.h │ ├── ParsePageContent.h │ ├── ParsePdsObjects.h │ ├── PdfixEngine.h │ ├── PreflightDocTemplate.h │ ├── PrintPage.h │ ├── ProcessControl.h │ ├── ReadOCGLayers.h │ ├── RegexSearch.h │ ├── RegexSetPattern.h │ ├── RegisterEvent.h │ ├── RemoveComments.h │ ├── RemoveTags.h │ ├── RenderPage.h │ ├── RenderPageWithoutText.h │ ├── RenderPages.h │ ├── SearchText.h │ ├── SetAnnotationAppearance.h │ ├── SetFieldFlags.h │ ├── SetFormFieldValue.h │ ├── StandardLicenseActivate.h │ ├── StandardLicenseActivateOffline.h │ ├── StandardLicenseCreateOfflineActivationFile.h │ ├── StandardLicenseDeactivate.h │ ├── StandardLicenseDeactivateOffline.h │ ├── StandardLicenseUpdate.h │ ├── StandardLicenseUpdateOffline.h │ ├── TagAnnotation.h │ ├── TagAsArtifact.h │ ├── TagHeadings.h │ ├── TagTableAsFigure.h │ ├── TagsEditStructTree.h │ ├── TagsReadStructTree.h │ ├── TagsReadingOrder.h │ ├── Utils.h │ └── samples.h ├── resources ├── README.md ├── make-accessible.json ├── tagged.pdf ├── tessdata │ ├── Makefile.am │ ├── configs │ │ ├── Makefile.am │ │ ├── ambigs.train │ │ ├── api_config │ │ ├── bazaar │ │ ├── bigram │ │ ├── box.train │ │ ├── box.train.stderr │ │ ├── digits │ │ ├── get.image │ │ ├── hocr │ │ ├── inter │ │ ├── kannada │ │ ├── linebox │ │ ├── logfile │ │ ├── lstm.train │ │ ├── makebox │ │ ├── pdf │ │ ├── quiet │ │ ├── rebox │ │ ├── strokewidth │ │ ├── tsv │ │ ├── txt │ │ └── unlv │ ├── eng.traineddata │ ├── eng.user-patterns │ ├── eng.user-words │ ├── osd.traineddata │ ├── pdf.ttf │ └── tessconfigs │ │ ├── Makefile.am │ │ ├── batch │ │ ├── batch.nochop │ │ ├── matdemo │ │ ├── msdemo │ │ ├── nobatch │ │ └── segdemo ├── test.pdf ├── test.pfx └── watermark.png └── src ├── AcroFormExport.cpp ├── AcroFormImport.cpp ├── AddComment.cpp ├── AddTags.cpp ├── AddWatermark.cpp ├── ApplyRedaction.cpp ├── BookmarksToJson.cpp ├── CertDigitalSignature.cpp ├── CommandRemoveEmptyTags.cpp ├── ConvertRGBToCMYK.cpp ├── ConvertTaggedPdf.cpp ├── ConvertToHtml.cpp ├── ConvertToHtmlEx.cpp ├── ConvertToJson.cpp ├── ConvertToTiff.cpp ├── CopyAnnots.cpp ├── CreateNewDocument.cpp ├── CreateNewDocuments.cpp ├── CreatePage.cpp ├── CreateRedactionMark.cpp ├── DeletePages.cpp ├── DigitalSignature.cpp ├── DocumentMetadata.cpp ├── DocumentSecurity.cpp ├── EditContent.cpp ├── EditPageObjectMCID.cpp ├── EmbedFonts.cpp ├── ExportFormFieldValues.cpp ├── ExtractAnnot.cpp ├── ExtractHighlightedText.cpp ├── ExtractImages.cpp ├── ExtractPageContent.cpp ├── ExtractPageData.cpp ├── ExtractPageMap.cpp ├── ExtractPdfData.cpp ├── ExtractPdfUtils.cpp ├── ExtractStructTree.cpp ├── ExtractTables.cpp ├── ExtractText.cpp ├── ExtractTextFromOCGLayer.cpp ├── FillForm.cpp ├── FlattenAnnots.cpp ├── GetWhitespace.cpp ├── ImportFormData.cpp ├── Imposition.cpp ├── Initialization.cpp ├── InsertPages.cpp ├── LicenseReset.cpp ├── LicenseStatus.cpp ├── MakeAccessible.cpp ├── MovePage.cpp ├── NamedDestsToJson.cpp ├── OpedDocumentFromStream.cpp ├── PagesToJson.cpp ├── ParsePageContent.cpp ├── ParsePdsObjects.cpp ├── PdfixEngine.cpp ├── PreflightDocTemplate.cpp ├── PrintPage.cpp ├── ProcessControl.cpp ├── ReadOCGLayers.cpp ├── RegexSearch.cpp ├── RegexSetPattern.cpp ├── RegisterEvent.cpp ├── RemoveComments.cpp ├── RemoveTags.cpp ├── RenderPage.cpp ├── RenderPageWithoutText.cpp ├── RenderPages.cpp ├── SearchText.cpp ├── SetAnnotationAppearance.cpp ├── SetFieldFlags.cpp ├── SetFormFieldValue.cpp ├── StandardLicenseActivate.cpp ├── StandardLicenseActivateOffline.cpp ├── StandardLicenseCreateOfflineActivationFile.cpp ├── StandardLicenseDeactivate.cpp ├── StandardLicenseDeactivateOffline.cpp ├── StandardLicenseUpdate.cpp ├── StandardLicenseUpdateOffline.cpp ├── TagAnnotation.cpp ├── TagAsArtifact.cpp ├── TagHeadings.cpp ├── TagTableAsFigure.cpp ├── TagsEditStructTree.cpp ├── TagsReadStructTree.cpp ├── TagsReadingOrder.cpp └── Utils.cpp /.gitignore: -------------------------------------------------------------------------------- 1 | bin/ 2 | build/ 3 | output/ 4 | external/pdfix_sdk 5 | 6 | .vs/ 7 | .vscode/ 8 | *.user 9 | .cache/ 10 | 11 | xcuserdata/ 12 | *.xcworkspace/ 13 | -------------------------------------------------------------------------------- /build_with_ninja.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cmake -G Ninja --target example -B build -S . 4 | cmake --build build --target example 5 | -------------------------------------------------------------------------------- /example/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(example example.cpp) 2 | 3 | set_target_properties(example 4 | PROPERTIES 5 | CXX_STANDARD 17 6 | CMAKE_MACOSX_RPATH OFF 7 | CXX_STANDARD_REQUIRED TRUE 8 | RUNTIME_OUTPUT_DIRECTORY "${OUTPUT_DIRECTORY}" 9 | RUNTIME_OUTPUT_DIRECTORY_RELEASE ${OUTPUT_DIRECTORY} 10 | RUNTIME_OUTPUT_DIRECTORY_DEBUG ${OUTPUT_DIRECTORY} 11 | ) 12 | 13 | target_link_libraries(example PRIVATE pdfixsdksample) 14 | -------------------------------------------------------------------------------- /external/boost/aligned_storage.hpp: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // boost aligned_storage.hpp header file 3 | // See http://www.boost.org for updates, documentation, and revision history. 4 | //----------------------------------------------------------------------------- 5 | // 6 | // Copyright (c) 2002-2003 7 | // Eric Friedman, Itay Maman 8 | // 9 | // Distributed under the Boost Software License, Version 1.0. (See 10 | // accompanying file LICENSE_1_0.txt or copy at 11 | // http://www.boost.org/LICENSE_1_0.txt) 12 | 13 | #ifndef BOOST_ALIGNED_STORAGE_HPP 14 | #define BOOST_ALIGNED_STORAGE_HPP 15 | 16 | #include 17 | 18 | #endif // BOOST_ALIGNED_STORAGE_HPP 19 | -------------------------------------------------------------------------------- /external/boost/archive/detail/abi_prefix.hpp: -------------------------------------------------------------------------------- 1 | /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 2 | // abi_prefix.hpp 3 | 4 | // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 5 | // Use, modification and distribution is subject to the Boost Software 6 | // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 7 | // http://www.boost.org/LICENSE_1_0.txt) 8 | 9 | // See http://www.boost.org for updates, documentation, and revision history. 10 | 11 | #include // must be the last header 12 | #ifdef BOOST_MSVC 13 | # pragma warning(push) 14 | # pragma warning(disable : 4251 4231 4660 4275) 15 | #endif 16 | 17 | -------------------------------------------------------------------------------- /external/boost/archive/detail/abi_suffix.hpp: -------------------------------------------------------------------------------- 1 | /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 2 | // abi_suffix.hpp 3 | 4 | // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 5 | // Use, modification and distribution is subject to the Boost Software 6 | // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 7 | // http://www.boost.org/LICENSE_1_0.txt) 8 | 9 | // See http://www.boost.org for updates, documentation, and revision history. 10 | 11 | #ifdef BOOST_MSVC 12 | #pragma warning(pop) 13 | #endif 14 | #include // pops abi_suffix.hpp pragmas 15 | 16 | -------------------------------------------------------------------------------- /external/boost/call_traits.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. 2 | // Use, modification and distribution are subject to the Boost Software License, 3 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 4 | // http://www.boost.org/LICENSE_1_0.txt). 5 | // 6 | // See http://www.boost.org/libs/utility for most recent version including documentation. 7 | 8 | // See boost/detail/call_traits.hpp 9 | // for full copyright notices. 10 | 11 | #ifndef BOOST_CALL_TRAITS_HPP 12 | #define BOOST_CALL_TRAITS_HPP 13 | 14 | #ifndef BOOST_CONFIG_HPP 15 | #include 16 | #endif 17 | 18 | #include 19 | 20 | #endif // BOOST_CALL_TRAITS_HPP 21 | -------------------------------------------------------------------------------- /external/boost/checked_delete.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014 Glen Fernandes 3 | * 4 | * Distributed under the Boost Software License, Version 1.0. (See 5 | * accompanying file LICENSE_1_0.txt or copy at 6 | * http://www.boost.org/LICENSE_1_0.txt) 7 | */ 8 | 9 | #ifndef BOOST_CHECKED_DELETE_HPP 10 | #define BOOST_CHECKED_DELETE_HPP 11 | 12 | // The header file at this path is deprecated; 13 | // use boost/core/checked_delete.hpp instead. 14 | 15 | #include 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /external/boost/concept/detail/backward_compatibility.hpp: -------------------------------------------------------------------------------- 1 | // Copyright David Abrahams 2009. Distributed under the Boost 2 | // Software License, Version 1.0. (See accompanying 3 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 4 | #ifndef BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP 5 | # define BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP 6 | 7 | namespace boost 8 | { 9 | namespace concepts {} 10 | 11 | # if defined(BOOST_HAS_CONCEPTS) && !defined(BOOST_CONCEPT_NO_BACKWARD_KEYWORD) 12 | namespace concept = concepts; 13 | # endif 14 | } // namespace boost::concept 15 | 16 | #endif // BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP 17 | -------------------------------------------------------------------------------- /external/boost/concept/detail/concept_undef.hpp: -------------------------------------------------------------------------------- 1 | // Copyright David Abrahams 2006. Distributed under the Boost 2 | // Software License, Version 1.0. (See accompanying 3 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 4 | # undef BOOST_concept_typename 5 | # undef BOOST_concept 6 | -------------------------------------------------------------------------------- /external/boost/config/abi/borland_suffix.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2003. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | 6 | # pragma option pop 7 | #pragma nopushoptwarn 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /external/boost/config/abi/msvc_prefix.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2003. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | 6 | // 7 | // Boost binaries are built with the compiler's default ABI settings, 8 | // if the user changes their default alignment in the VS IDE then their 9 | // code will no longer be binary compatible with the bjam built binaries 10 | // unless this header is included to force Boost code into a consistent ABI. 11 | // 12 | // Note that inclusion of this header is only necessary for libraries with 13 | // separate source, header only libraries DO NOT need this as long as all 14 | // translation units are built with the same options. 15 | // 16 | #if defined(_M_X64) 17 | # pragma pack(push,16) 18 | #else 19 | # pragma pack(push,8) 20 | #endif 21 | 22 | 23 | -------------------------------------------------------------------------------- /external/boost/config/abi/msvc_suffix.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2003. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | 6 | #pragma pack(pop) 7 | 8 | 9 | -------------------------------------------------------------------------------- /external/boost/config/abi_prefix.hpp: -------------------------------------------------------------------------------- 1 | // abi_prefix header -------------------------------------------------------// 2 | 3 | // (c) Copyright John Maddock 2003 4 | 5 | // Use, modification and distribution are subject to the Boost Software License, 6 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 7 | // http://www.boost.org/LICENSE_1_0.txt). 8 | 9 | #ifndef BOOST_CONFIG_ABI_PREFIX_HPP 10 | # define BOOST_CONFIG_ABI_PREFIX_HPP 11 | #else 12 | # error double inclusion of header boost/config/abi_prefix.hpp is an error 13 | #endif 14 | 15 | #include 16 | 17 | // this must occur after all other includes and before any code appears: 18 | #ifdef BOOST_HAS_ABI_HEADERS 19 | # include BOOST_ABI_PREFIX 20 | #endif 21 | 22 | #if defined( __BORLANDC__ ) 23 | #pragma nopushoptwarn 24 | #endif 25 | 26 | -------------------------------------------------------------------------------- /external/boost/config/abi_suffix.hpp: -------------------------------------------------------------------------------- 1 | // abi_sufffix header -------------------------------------------------------// 2 | 3 | // (c) Copyright John Maddock 2003 4 | 5 | // Use, modification and distribution are subject to the Boost Software License, 6 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 7 | // http://www.boost.org/LICENSE_1_0.txt). 8 | 9 | // This header should be #included AFTER code that was preceded by a #include 10 | // . 11 | 12 | #ifndef BOOST_CONFIG_ABI_PREFIX_HPP 13 | # error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp 14 | #else 15 | # undef BOOST_CONFIG_ABI_PREFIX_HPP 16 | #endif 17 | 18 | // the suffix header occurs after all of our code: 19 | #ifdef BOOST_HAS_ABI_HEADERS 20 | # include BOOST_ABI_SUFFIX 21 | #endif 22 | 23 | #if defined( __BORLANDC__ ) 24 | #pragma nopushoptwarn 25 | #endif 26 | 27 | 28 | -------------------------------------------------------------------------------- /external/boost/config/compiler/compaq_cxx.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2001 - 2003. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Tru64 C++ compiler setup (now HP): 9 | 10 | #define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER) 11 | 12 | #include 13 | 14 | // 15 | // versions check: 16 | // Nothing to do here? 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /external/boost/config/compiler/greenhills.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2001. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Greenhills C++ compiler setup: 9 | 10 | #define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs) 11 | 12 | #include 13 | 14 | // 15 | // versions check: 16 | // we don't support Greenhills prior to version 0: 17 | #if __ghs < 0 18 | # error "Compiler not supported or configured - please reconfigure" 19 | #endif 20 | // 21 | // last known and checked version is 0: 22 | #if (__ghs > 0) 23 | # if defined(BOOST_ASSERT_CONFIG) 24 | # error "boost: Unknown compiler version - please run the configure tests and report the results" 25 | # endif 26 | #endif 27 | 28 | 29 | -------------------------------------------------------------------------------- /external/boost/config/compiler/pgi.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Noel Belcourt 2007. 2 | // Copyright 2017, NVIDIA CORPORATION. 3 | // Use, modification and distribution are subject to the 4 | // Boost Software License, Version 1.0. (See accompanying file 5 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 | 7 | // See http://www.boost.org for most recent version. 8 | 9 | // PGI C++ compiler setup: 10 | 11 | #define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__ 12 | #define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) 13 | 14 | // PGI is mostly GNU compatible. So start with that. 15 | #include 16 | 17 | // Now adjust for things that are different. 18 | 19 | // __float128 is a typedef, not a distinct type. 20 | #undef BOOST_HAS_FLOAT128 21 | 22 | // __int128 is not supported. 23 | #undef BOOST_HAS_INT128 24 | -------------------------------------------------------------------------------- /external/boost/config/compiler/sgi_mipspro.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2001 - 2002. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // SGI C++ compiler setup: 9 | 10 | #define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION) 11 | 12 | #include 13 | 14 | // 15 | // Threading support: 16 | // Turn this on unconditionally here, it will get turned off again later 17 | // if no threading API is detected. 18 | // 19 | #define BOOST_HAS_THREADS 20 | #define BOOST_NO_TWO_PHASE_NAME_LOOKUP 21 | 22 | #undef BOOST_NO_SWPRINTF 23 | #undef BOOST_DEDUCED_TYPENAME 24 | 25 | // 26 | // version check: 27 | // probably nothing to do here? 28 | 29 | 30 | -------------------------------------------------------------------------------- /external/boost/config/header_deprecated.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED 2 | #define BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED 3 | 4 | // Copyright 2017 Peter Dimov. 5 | // 6 | // Distributed under the Boost Software License, Version 1.0. 7 | // 8 | // See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt 10 | // 11 | // BOOST_HEADER_DEPRECATED("") 12 | // 13 | // Expands to the equivalent of 14 | // BOOST_PRAGMA_MESSAGE("This header is deprecated. Use instead.") 15 | // 16 | // Note that this header is C compatible. 17 | 18 | #include 19 | 20 | #if defined(BOOST_ALLOW_DEPRECATED_HEADERS) 21 | # define BOOST_HEADER_DEPRECATED(a) 22 | #else 23 | # define BOOST_HEADER_DEPRECATED(a) BOOST_PRAGMA_MESSAGE("This header is deprecated. Use " a " instead.") 24 | #endif 25 | 26 | #endif // BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED 27 | -------------------------------------------------------------------------------- /external/boost/config/no_tr1/cmath.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2008. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | // 6 | // The aim of this header is just to include but to do 7 | // so in a way that does not result in recursive inclusion of 8 | // the Boost TR1 components if boost/tr1/tr1/cmath is in the 9 | // include search path. We have to do this to avoid circular 10 | // dependencies: 11 | // 12 | 13 | #ifndef BOOST_CONFIG_CMATH 14 | # define BOOST_CONFIG_CMATH 15 | 16 | # ifndef BOOST_TR1_NO_RECURSION 17 | # define BOOST_TR1_NO_RECURSION 18 | # define BOOST_CONFIG_NO_CMATH_RECURSION 19 | # endif 20 | 21 | # include 22 | 23 | # ifdef BOOST_CONFIG_NO_CMATH_RECURSION 24 | # undef BOOST_TR1_NO_RECURSION 25 | # undef BOOST_CONFIG_NO_CMATH_RECURSION 26 | # endif 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /external/boost/config/no_tr1/complex.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2005. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | // 6 | // The aim of this header is just to include but to do 7 | // so in a way that does not result in recursive inclusion of 8 | // the Boost TR1 components if boost/tr1/tr1/complex is in the 9 | // include search path. We have to do this to avoid circular 10 | // dependencies: 11 | // 12 | 13 | #ifndef BOOST_CONFIG_COMPLEX 14 | # define BOOST_CONFIG_COMPLEX 15 | 16 | # ifndef BOOST_TR1_NO_RECURSION 17 | # define BOOST_TR1_NO_RECURSION 18 | # define BOOST_CONFIG_NO_COMPLEX_RECURSION 19 | # endif 20 | 21 | # include 22 | 23 | # ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION 24 | # undef BOOST_TR1_NO_RECURSION 25 | # undef BOOST_CONFIG_NO_COMPLEX_RECURSION 26 | # endif 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /external/boost/config/no_tr1/memory.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2005. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | // 6 | // The aim of this header is just to include but to do 7 | // so in a way that does not result in recursive inclusion of 8 | // the Boost TR1 components if boost/tr1/tr1/memory is in the 9 | // include search path. We have to do this to avoid circular 10 | // dependencies: 11 | // 12 | 13 | #ifndef BOOST_CONFIG_MEMORY 14 | # define BOOST_CONFIG_MEMORY 15 | 16 | # ifndef BOOST_TR1_NO_RECURSION 17 | # define BOOST_TR1_NO_RECURSION 18 | # define BOOST_CONFIG_NO_MEMORY_RECURSION 19 | # endif 20 | 21 | # include 22 | 23 | # ifdef BOOST_CONFIG_NO_MEMORY_RECURSION 24 | # undef BOOST_TR1_NO_RECURSION 25 | # undef BOOST_CONFIG_NO_MEMORY_RECURSION 26 | # endif 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /external/boost/config/no_tr1/utility.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2005. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | // 6 | // The aim of this header is just to include but to do 7 | // so in a way that does not result in recursive inclusion of 8 | // the Boost TR1 components if boost/tr1/tr1/utility is in the 9 | // include search path. We have to do this to avoid circular 10 | // dependencies: 11 | // 12 | 13 | #ifndef BOOST_CONFIG_UTILITY 14 | # define BOOST_CONFIG_UTILITY 15 | 16 | # ifndef BOOST_TR1_NO_RECURSION 17 | # define BOOST_TR1_NO_RECURSION 18 | # define BOOST_CONFIG_NO_UTILITY_RECURSION 19 | # endif 20 | 21 | # include 22 | 23 | # ifdef BOOST_CONFIG_NO_UTILITY_RECURSION 24 | # undef BOOST_TR1_NO_RECURSION 25 | # undef BOOST_CONFIG_NO_UTILITY_RECURSION 26 | # endif 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /external/boost/config/platform/amigaos.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2002. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | #define BOOST_PLATFORM "AmigaOS" 9 | 10 | #define BOOST_DISABLE_THREADS 11 | #define BOOST_NO_CWCHAR 12 | #define BOOST_NO_STD_WSTRING 13 | #define BOOST_NO_INTRINSIC_WCHAR_T 14 | 15 | 16 | -------------------------------------------------------------------------------- /external/boost/config/platform/beos.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2001. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // BeOS specific config options: 9 | 10 | #define BOOST_PLATFORM "BeOS" 11 | 12 | #define BOOST_NO_CWCHAR 13 | #define BOOST_NO_CWCTYPE 14 | #define BOOST_HAS_UNISTD_H 15 | 16 | #define BOOST_HAS_BETHREADS 17 | 18 | #ifndef BOOST_DISABLE_THREADS 19 | # define BOOST_HAS_THREADS 20 | #endif 21 | 22 | // boilerplate code: 23 | #include 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /external/boost/config/platform/cloudabi.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Nuxi, https://nuxi.nl/ 2015. 2 | // Distributed under the Boost Software License, Version 1.0. 3 | // (See accompanying file LICENSE_1_0.txt or copy at 4 | // http://www.boost.org/LICENSE_1_0.txt) 5 | 6 | #define BOOST_PLATFORM "CloudABI" 7 | 8 | #define BOOST_HAS_DIRENT_H 9 | #define BOOST_HAS_STDINT_H 10 | #define BOOST_HAS_UNISTD_H 11 | 12 | #define BOOST_HAS_CLOCK_GETTIME 13 | #define BOOST_HAS_EXPM1 14 | #define BOOST_HAS_GETTIMEOFDAY 15 | #define BOOST_HAS_LOG1P 16 | #define BOOST_HAS_NANOSLEEP 17 | #define BOOST_HAS_PTHREADS 18 | #define BOOST_HAS_SCHED_YIELD 19 | -------------------------------------------------------------------------------- /external/boost/config/platform/cray.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2011. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | 6 | 7 | // See http://www.boost.org for most recent version. 8 | 9 | // SGI Irix specific config options: 10 | 11 | #define BOOST_PLATFORM "Cray" 12 | 13 | // boilerplate code: 14 | #define BOOST_HAS_UNISTD_H 15 | #include 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /external/boost/config/platform/haiku.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Jessica Hamilton 2014. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Haiku specific config options: 9 | 10 | #define BOOST_PLATFORM "Haiku" 11 | 12 | #define BOOST_HAS_UNISTD_H 13 | #define BOOST_HAS_STDINT_H 14 | 15 | #ifndef BOOST_DISABLE_THREADS 16 | # define BOOST_HAS_THREADS 17 | #endif 18 | 19 | #define BOOST_NO_CXX11_HDR_TYPE_TRAITS 20 | #define BOOST_NO_CXX11_ATOMIC_SMART_PTR 21 | #define BOOST_NO_CXX11_STATIC_ASSERT 22 | #define BOOST_NO_CXX11_VARIADIC_MACROS 23 | 24 | // 25 | // thread API's not auto detected: 26 | // 27 | #define BOOST_HAS_SCHED_YIELD 28 | #define BOOST_HAS_GETTIMEOFDAY 29 | 30 | // boilerplate code: 31 | #include 32 | -------------------------------------------------------------------------------- /external/boost/config/platform/irix.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2001 - 2003. 2 | // (C) Copyright Jens Maurer 2003. 3 | // Use, modification and distribution are subject to the 4 | // Boost Software License, Version 1.0. (See accompanying file 5 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 | 7 | 8 | // See http://www.boost.org for most recent version. 9 | 10 | // SGI Irix specific config options: 11 | 12 | #define BOOST_PLATFORM "SGI Irix" 13 | 14 | #define BOOST_NO_SWPRINTF 15 | // 16 | // these are not auto detected by POSIX feature tests: 17 | // 18 | #define BOOST_HAS_GETTIMEOFDAY 19 | #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 20 | 21 | #ifdef __GNUC__ 22 | // GNU C on IRIX does not support threads (checked up to gcc 3.3) 23 | # define BOOST_DISABLE_THREADS 24 | #endif 25 | 26 | // boilerplate code: 27 | #define BOOST_HAS_UNISTD_H 28 | #include 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /external/boost/config/platform/qnxnto.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Jim Douglas 2005. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // QNX specific config options: 9 | 10 | #define BOOST_PLATFORM "QNX" 11 | 12 | #define BOOST_HAS_UNISTD_H 13 | #include 14 | 15 | // QNX claims XOpen version 5 compatibility, but doesn't have an nl_types.h 16 | // or log1p and expm1: 17 | #undef BOOST_HAS_NL_TYPES_H 18 | #undef BOOST_HAS_LOG1P 19 | #undef BOOST_HAS_EXPM1 20 | 21 | #define BOOST_HAS_PTHREADS 22 | #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 23 | 24 | #define BOOST_HAS_GETTIMEOFDAY 25 | #define BOOST_HAS_CLOCK_GETTIME 26 | #define BOOST_HAS_NANOSLEEP 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /external/boost/config/platform/solaris.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2001 - 2003. 2 | // (C) Copyright Jens Maurer 2003. 3 | // Use, modification and distribution are subject to the 4 | // Boost Software License, Version 1.0. (See accompanying file 5 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 | 7 | // See http://www.boost.org for most recent version. 8 | 9 | // sun specific config options: 10 | 11 | #define BOOST_PLATFORM "Sun Solaris" 12 | 13 | #define BOOST_HAS_GETTIMEOFDAY 14 | 15 | // boilerplate code: 16 | #define BOOST_HAS_UNISTD_H 17 | #include 18 | 19 | // 20 | // pthreads don't actually work with gcc unless _PTHREADS is defined: 21 | // 22 | #if defined(__GNUC__) && defined(_POSIX_THREADS) && !defined(_PTHREADS) 23 | # undef BOOST_HAS_PTHREADS 24 | #endif 25 | 26 | #define BOOST_HAS_STDINT_H 27 | #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 28 | #define BOOST_HAS_LOG1P 29 | #define BOOST_HAS_EXPM1 30 | 31 | 32 | -------------------------------------------------------------------------------- /external/boost/config/platform/vms.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Artyom Beilis 2010. 2 | // Use, modification and distribution are subject to the 3 | // Boost Software License, Version 1.0. (See accompanying file 4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 | 6 | #ifndef BOOST_CONFIG_PLATFORM_VMS_HPP 7 | #define BOOST_CONFIG_PLATFORM_VMS_HPP 8 | 9 | #define BOOST_PLATFORM "OpenVMS" 10 | 11 | #undef BOOST_HAS_STDINT_H 12 | #define BOOST_HAS_UNISTD_H 13 | #define BOOST_HAS_NL_TYPES_H 14 | #define BOOST_HAS_GETTIMEOFDAY 15 | #define BOOST_HAS_DIRENT_H 16 | #define BOOST_HAS_PTHREADS 17 | #define BOOST_HAS_NANOSLEEP 18 | #define BOOST_HAS_CLOCK_GETTIME 19 | #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 20 | #define BOOST_HAS_LOG1P 21 | #define BOOST_HAS_EXPM1 22 | #define BOOST_HAS_THREADS 23 | #undef BOOST_HAS_SCHED_YIELD 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /external/boost/config/platform/zos.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 Dynatrace 2 | // 3 | // Distributed under the Boost Software License, Version 1.0. 4 | // See accompanying file LICENSE_1_0.txt or copy at 5 | // http://www.boost.org/LICENSE_1_0.txt 6 | 7 | // See http://www.boost.org for most recent version. 8 | 9 | // Platform setup for IBM z/OS. 10 | 11 | #define BOOST_PLATFORM "IBM z/OS" 12 | 13 | #include // For __UU, __C99, __TR1, ... 14 | 15 | #if defined(__UU) 16 | # define BOOST_HAS_GETTIMEOFDAY 17 | #endif 18 | 19 | #if defined(_OPEN_THREADS) || defined(__SUSV3_THR) 20 | # define BOOST_HAS_PTHREADS 21 | # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 22 | # define BOOST_HAS_THREADS 23 | #endif 24 | 25 | #if defined(__SUSV3) || defined(__SUSV3_THR) 26 | # define BOOST_HAS_SCHED_YIELD 27 | #endif 28 | 29 | #define BOOST_HAS_SIGACTION 30 | #define BOOST_HAS_UNISTD_H 31 | #define BOOST_HAS_DIRENT_H 32 | #define BOOST_HAS_NL_TYPES_H 33 | -------------------------------------------------------------------------------- /external/boost/core/is_same.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_CORE_IS_SAME_HPP_INCLUDED 2 | #define BOOST_CORE_IS_SAME_HPP_INCLUDED 3 | 4 | // MS compatible compilers support #pragma once 5 | 6 | #if defined(_MSC_VER) && (_MSC_VER >= 1020) 7 | # pragma once 8 | #endif 9 | 10 | // is_same::value is true when T1 == T2 11 | // 12 | // Copyright 2014 Peter Dimov 13 | // 14 | // Distributed under the Boost Software License, Version 1.0. 15 | // See accompanying file LICENSE_1_0.txt or copy at 16 | // http://www.boost.org/LICENSE_1_0.txt 17 | 18 | #include 19 | 20 | namespace boost 21 | { 22 | 23 | namespace core 24 | { 25 | 26 | template< class T1, class T2 > struct is_same 27 | { 28 | BOOST_STATIC_CONSTANT( bool, value = false ); 29 | }; 30 | 31 | template< class T > struct is_same< T, T > 32 | { 33 | BOOST_STATIC_CONSTANT( bool, value = true ); 34 | }; 35 | 36 | } // namespace core 37 | 38 | } // namespace boost 39 | 40 | #endif // #ifndef BOOST_CORE_IS_SAME_HPP_INCLUDED 41 | -------------------------------------------------------------------------------- /external/boost/core/use_default.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 Glen Joseph Fernandes 3 | (glenjofe@gmail.com) 4 | 5 | Distributed under the Boost Software License, Version 1.0. 6 | (http://www.boost.org/LICENSE_1_0.txt) 7 | */ 8 | #ifndef BOOST_CORE_USE_DEFAULT_HPP 9 | #define BOOST_CORE_USE_DEFAULT_HPP 10 | 11 | namespace boost { 12 | 13 | struct use_default { }; 14 | 15 | } /* boost */ 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /external/boost/detail/lightweight_mutex.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED 2 | #define BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED 3 | 4 | // MS compatible compilers support #pragma once 5 | 6 | #if defined(_MSC_VER) && (_MSC_VER >= 1020) 7 | # pragma once 8 | #endif 9 | 10 | // 11 | // boost/detail/lightweight_mutex.hpp - lightweight mutex 12 | // 13 | // Copyright (c) 2002, 2003 Peter Dimov and Multi Media Ltd. 14 | // 15 | // Distributed under the Boost Software License, Version 1.0. 16 | // See accompanying file LICENSE_1_0.txt or copy at 17 | // http://www.boost.org/LICENSE_1_0.txt 18 | // 19 | 20 | #include 21 | 22 | #endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED 23 | -------------------------------------------------------------------------------- /external/boost/detail/no_exceptions_support.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014 Glen Fernandes 3 | * 4 | * Distributed under the Boost Software License, Version 1.0. (See 5 | * accompanying file LICENSE_1_0.txt or copy at 6 | * http://www.boost.org/LICENSE_1_0.txt) 7 | */ 8 | 9 | #ifndef BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP 10 | #define BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP 11 | 12 | // The header file at this path is deprecated; 13 | // use boost/core/no_exceptions_support.hpp instead. 14 | 15 | #include 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /external/boost/detail/workaround.hpp: -------------------------------------------------------------------------------- 1 | // Copyright David Abrahams 2002. 2 | // Distributed under the Boost Software License, Version 1.0. (See 3 | // accompanying file LICENSE_1_0.txt or copy at 4 | // http://www.boost.org/LICENSE_1_0.txt) 5 | #ifndef WORKAROUND_DWA2002126_HPP 6 | #define WORKAROUND_DWA2002126_HPP 7 | 8 | #include 9 | 10 | #endif // WORKAROUND_DWA2002126_HPP 11 | -------------------------------------------------------------------------------- /external/boost/is_placeholder.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_IS_PLACEHOLDER_HPP_INCLUDED 2 | #define BOOST_IS_PLACEHOLDER_HPP_INCLUDED 3 | 4 | // MS compatible compilers support #pragma once 5 | 6 | #if defined( _MSC_VER ) && ( _MSC_VER >= 1020 ) 7 | # pragma once 8 | #endif 9 | 10 | 11 | // is_placeholder.hpp - TR1 is_placeholder metafunction 12 | // 13 | // Copyright (c) 2006 Peter Dimov 14 | // 15 | // Distributed under the Boost Software License, Version 1.0. 16 | // 17 | // See accompanying file LICENSE_1_0.txt or copy at 18 | // http://www.boost.org/LICENSE_1_0.txt 19 | 20 | 21 | namespace boost 22 | { 23 | 24 | template< class T > struct is_placeholder 25 | { 26 | enum _vt { value = 0 }; 27 | }; 28 | 29 | } // namespace boost 30 | 31 | #endif // #ifndef BOOST_IS_PLACEHOLDER_HPP_INCLUDED 32 | -------------------------------------------------------------------------------- /external/boost/iterator/detail/config_undef.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Thomas Witt 2002. 2 | // Distributed under the Boost Software License, Version 1.0. (See 3 | // accompanying file LICENSE_1_0.txt or copy at 4 | // http://www.boost.org/LICENSE_1_0.txt) 5 | 6 | // no include guard multiple inclusion intended 7 | 8 | // 9 | // This is a temporary workaround until the bulk of this is 10 | // available in boost config. 11 | // 23/02/03 thw 12 | // 13 | 14 | #undef BOOST_NO_IS_CONVERTIBLE 15 | #undef BOOST_NO_IS_CONVERTIBLE_TEMPLATE 16 | #undef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY 17 | #undef BOOST_NO_LVALUE_RETURN_DETECTION 18 | #undef BOOST_NO_ONE_WAY_ITERATOR_INTEROP 19 | 20 | #ifdef BOOST_ITERATOR_CONFIG_DEF 21 | # undef BOOST_ITERATOR_CONFIG_DEF 22 | #else 23 | # error missing or nested #include config_def 24 | #endif 25 | -------------------------------------------------------------------------------- /external/boost/mem_fn.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_MEM_FN_HPP_INCLUDED 2 | #define BOOST_MEM_FN_HPP_INCLUDED 3 | 4 | // MS compatible compilers support #pragma once 5 | 6 | #if defined(_MSC_VER) && (_MSC_VER >= 1020) 7 | # pragma once 8 | #endif 9 | 10 | // 11 | // mem_fn.hpp - a generalization of std::mem_fun[_ref] 12 | // 13 | // Copyright (c) 2009 Peter Dimov 14 | // 15 | // Distributed under the Boost Software License, Version 1.0. 16 | // See accompanying file LICENSE_1_0.txt or copy at 17 | // http://www.boost.org/LICENSE_1_0.txt 18 | // 19 | // See http://www.boost.org/libs/bind/mem_fn.html for documentation. 20 | // 21 | 22 | #include 23 | 24 | #endif // #ifndef BOOST_MEM_FN_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/move/detail/config_end.hpp: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // (C) Copyright Ion Gaztanaga 2012-2012. Distributed under the Boost 4 | // Software License, Version 1.0. (See accompanying file 5 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 | // 7 | // See http://www.boost.org/libs/move for documentation. 8 | // 9 | ////////////////////////////////////////////////////////////////////////////// 10 | #if defined BOOST_MSVC 11 | # pragma warning (pop) 12 | #endif 13 | -------------------------------------------------------------------------------- /external/boost/mpl/O1_size_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct O1_size_impl; 20 | template< typename Sequence > struct O1_size; 21 | 22 | }} 23 | 24 | #endif // BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/advance_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | namespace boost { namespace mpl { 20 | 21 | BOOST_MPL_AUX_COMMON_NAME_WKND(advance) 22 | 23 | template< typename Tag > struct advance_impl; 24 | template< typename Iterator, typename N > struct advance; 25 | 26 | }} 27 | 28 | #endif // BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED 29 | -------------------------------------------------------------------------------- /external/boost/mpl/arg_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_ARG_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_ARG_FWD_HPP_INCLUDED 4 | 5 | // Copyright Peter Dimov 2001-2002 6 | // Copyright Aleksey Gurtovoy 2001-2004 7 | // 8 | // Distributed under the Boost Software License, Version 1.0. 9 | // (See accompanying file LICENSE_1_0.txt or copy at 10 | // http://www.boost.org/LICENSE_1_0.txt) 11 | // 12 | // See http://www.boost.org/libs/mpl for documentation. 13 | 14 | // $Id$ 15 | // $Date$ 16 | // $Revision$ 17 | 18 | #include 19 | #include 20 | 21 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN 22 | 23 | template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct arg; 24 | 25 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE 26 | BOOST_MPL_AUX_ADL_BARRIER_DECL(arg) 27 | 28 | #endif // BOOST_MPL_ARG_FWD_HPP_INCLUDED 29 | -------------------------------------------------------------------------------- /external/boost/mpl/at_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AT_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_AT_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct at_impl; 20 | template< typename Sequence, typename N > struct at; 21 | 22 | }} 23 | 24 | #endif // BOOST_MPL_AT_FWD_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/arg_typedef.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2001-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | 20 | #if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \ 21 | || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) 22 | 23 | # define BOOST_MPL_AUX_ARG_TYPEDEF(T, name) typedef T name; 24 | 25 | #else 26 | 27 | # define BOOST_MPL_AUX_ARG_TYPEDEF(T, name) /**/ 28 | 29 | #endif 30 | 31 | #endif // BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED 32 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/clear_impl.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | #include 20 | 21 | namespace boost { namespace mpl { 22 | 23 | // no default implementation; the definition is needed to make MSVC happy 24 | 25 | template< typename Tag > 26 | struct clear_impl 27 | { 28 | template< typename Sequence > struct apply; 29 | }; 30 | 31 | BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, clear_impl) 32 | 33 | }} 34 | 35 | #endif // BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED 36 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/config/arrays.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2003-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | 20 | #if !defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) \ 21 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \ 22 | && ( BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ 23 | || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ 24 | ) 25 | 26 | # define BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES 27 | 28 | #endif 29 | 30 | #endif // BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED 31 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/config/bcc.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2008 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date: 2004-09-02 10:41:37 -0500 (Thu, 02 Sep 2004) $ 15 | // $Revision: 24874 $ 16 | 17 | #include 18 | 19 | #if !defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) \ 20 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \ 21 | && BOOST_WORKAROUND(__BORLANDC__, >= 0x590) \ 22 | && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) 23 | 24 | # define BOOST_MPL_CFG_BCC590_WORKAROUNDS 25 | 26 | #endif 27 | 28 | #endif // BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED 29 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/config/ctps.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | 20 | #if !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) \ 21 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \ 22 | && BOOST_WORKAROUND(__BORLANDC__, < 0x582) 23 | 24 | # define BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC 25 | 26 | #endif 27 | 28 | // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION is defined in 29 | 30 | #endif // BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED 31 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | #if !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) \ 20 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \ 21 | && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) 22 | 23 | # define BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS 24 | 25 | #endif 26 | 27 | #endif // BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED 28 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/config/forwarding.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) \ 20 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \ 21 | && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) 22 | 23 | # define BOOST_MPL_CFG_NO_NESTED_FORWARDING 24 | 25 | #endif 26 | 27 | #endif // BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED 28 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/config/gcc.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #if defined(__GNUC__) && !defined(__EDG_VERSION__) 18 | # define BOOST_MPL_CFG_GCC ((__GNUC__ << 8) | __GNUC_MINOR__) 19 | #else 20 | # define BOOST_MPL_CFG_GCC 0 21 | #endif 22 | 23 | #endif // BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED 24 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/config/gpu.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CONFIG_GPU_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CONFIG_GPU_HPP_INCLUDED 4 | 5 | // Copyright Eric Niebler 2014 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | #if !defined(BOOST_MPL_CFG_GPU_ENABLED) \ 20 | 21 | # define BOOST_MPL_CFG_GPU_ENABLED BOOST_GPU_ENABLED 22 | 23 | #endif 24 | 25 | #if defined __CUDACC__ 26 | 27 | # define BOOST_MPL_CFG_GPU 1 28 | 29 | #else 30 | 31 | # define BOOST_MPL_CFG_GPU 0 32 | 33 | #endif 34 | 35 | #endif // BOOST_MPL_AUX_CONFIG_GPU_HPP_INCLUDED 36 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/config/intel.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | 18 | // BOOST_INTEL_CXX_VERSION is defined here: 19 | #include 20 | 21 | #endif // BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED 22 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/config/msvc.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2002-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | 18 | // BOOST_MSVC is defined here: 19 | #include 20 | 21 | #endif // BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED 22 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/config/msvc_typename.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | 20 | #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) 21 | # define BOOST_MSVC_TYPENAME 22 | #else 23 | # define BOOST_MSVC_TYPENAME typename 24 | #endif 25 | 26 | #endif // BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED 27 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/config/overload_resolution.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2002-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | #if !defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \ 20 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \ 21 | && ( BOOST_WORKAROUND(__BORLANDC__, < 0x590) \ 22 | || BOOST_WORKAROUND(__MWERKS__, < 0x3001) \ 23 | ) 24 | 25 | # define BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION 26 | 27 | #endif 28 | 29 | #endif // BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED 30 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/config/pp_counter.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2006 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #if !defined(BOOST_MPL_AUX_PP_COUNTER) 18 | # include 19 | # if BOOST_WORKAROUND(BOOST_MSVC, >= 1300) 20 | # define BOOST_MPL_AUX_PP_COUNTER() __COUNTER__ 21 | # else 22 | # define BOOST_MPL_AUX_PP_COUNTER() __LINE__ 23 | # endif 24 | #endif 25 | 26 | #endif // BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED 27 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/config/static_constant.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #if !defined(BOOST_MPL_PREPROCESSING_MODE) 18 | // BOOST_STATIC_CONSTANT is defined here: 19 | # include 20 | #else 21 | // undef the macro for the preprocessing mode 22 | # undef BOOST_STATIC_CONSTANT 23 | #endif 24 | 25 | #endif // BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED 26 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/config/use_preprocessed.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | // #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS 18 | 19 | #endif // BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED 20 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/config/workaround.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2002-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | #endif // BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED 20 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/find_if_pred.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // Copyright Eric Friedman 2002 7 | // 8 | // Distributed under the Boost Software License, Version 1.0. 9 | // (See accompanying file LICENSE_1_0.txt or copy at 10 | // http://www.boost.org/LICENSE_1_0.txt) 11 | // 12 | // See http://www.boost.org/libs/mpl for documentation. 13 | 14 | #include 15 | #include 16 | 17 | namespace boost { namespace mpl { namespace aux { 18 | 19 | template< typename Predicate > 20 | struct find_if_pred 21 | { 22 | template< typename Iterator > 23 | struct apply 24 | { 25 | typedef not_< aux::iter_apply1 > type; 26 | }; 27 | }; 28 | 29 | }}} 30 | 31 | #endif // BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED 32 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/has_apply.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | 20 | namespace boost { namespace mpl { namespace aux { 21 | #if !defined(BOOST_MPL_CFG_NO_HAS_APPLY) 22 | BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_apply, apply, false) 23 | #else 24 | template< typename T, typename fallback_ = false_ > 25 | struct has_apply 26 | : fallback_ 27 | { 28 | }; 29 | #endif 30 | }}} 31 | 32 | #endif // BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED 33 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/has_begin.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2002-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | namespace boost { namespace mpl { namespace aux { 20 | BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_begin, begin, true) 21 | }}} 22 | 23 | #endif // BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED 24 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/has_size.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2002-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | namespace boost { namespace mpl { namespace aux { 20 | BOOST_MPL_HAS_XXX_TRAIT_DEF(size) 21 | }}} 22 | 23 | #endif // BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED 24 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/has_tag.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2002-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | namespace boost { namespace mpl { namespace aux { 20 | BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_tag, tag, false) 21 | }}} 22 | 23 | #endif // BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED 24 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/has_type.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2002-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | namespace boost { namespace mpl { namespace aux { 20 | BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_type, type, true) 21 | }}} 22 | 23 | #endif // BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED 24 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/lambda_arity_param.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2001-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | #if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) 20 | # define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) 21 | #else 22 | # define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) , param 23 | #endif 24 | 25 | #endif // BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED 26 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/msvc_never_true.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | 20 | #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) 21 | 22 | namespace boost { namespace mpl { namespace aux { 23 | 24 | template< typename T > 25 | struct msvc_never_true 26 | { 27 | enum { value = false }; 28 | }; 29 | 30 | }}} 31 | 32 | #endif // BOOST_MSVC 33 | 34 | #endif // BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED 35 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/na_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2001-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN 20 | 21 | // n.a. == not available 22 | struct na 23 | { 24 | typedef na type; 25 | enum { value = 0 }; 26 | }; 27 | 28 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE 29 | BOOST_MPL_AUX_ADL_BARRIER_DECL(na) 30 | 31 | #endif // BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED 32 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp: -------------------------------------------------------------------------------- 1 | 2 | // Copyright Aleksey Gurtovoy 2001-2004 3 | // 4 | // Distributed under the Boost Software License, Version 1.0. 5 | // (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | 9 | // *Preprocessed* version of the main "template_arity.hpp" header 10 | // -- DO NOT modify by hand! 11 | 12 | namespace boost { namespace mpl { namespace aux { 13 | 14 | template< bool > 15 | struct template_arity_impl 16 | { 17 | template< typename F > struct result_ 18 | : mpl::int_< -1 > 19 | { 20 | }; 21 | }; 22 | 23 | template<> 24 | struct template_arity_impl 25 | { 26 | template< typename F > struct result_ 27 | : F::arity 28 | { 29 | }; 30 | }; 31 | 32 | template< typename F > 33 | struct template_arity 34 | : template_arity_impl< ::boost::mpl::aux::has_rebind::value > 35 | ::template result_ 36 | { 37 | }; 38 | 39 | }}} 40 | 41 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/preprocessed/bcc551/quote.hpp: -------------------------------------------------------------------------------- 1 | 2 | // Copyright Aleksey Gurtovoy 2000-2004 3 | // 4 | // Distributed under the Boost Software License, Version 1.0. 5 | // (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | 9 | // Preprocessed version of "boost/mpl/quote.hpp" header 10 | // -- DO NOT modify by hand! 11 | 12 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp: -------------------------------------------------------------------------------- 1 | 2 | // Copyright Aleksey Gurtovoy 2001-2004 3 | // 4 | // Distributed under the Boost Software License, Version 1.0. 5 | // (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | 9 | // Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header 10 | // -- DO NOT modify by hand! 11 | 12 | namespace boost { namespace mpl { namespace aux { 13 | 14 | template< bool > 15 | struct template_arity_impl 16 | { 17 | template< typename F > struct result_ 18 | : mpl::int_< -1 > 19 | { 20 | }; 21 | }; 22 | 23 | template<> 24 | struct template_arity_impl 25 | { 26 | template< typename F > struct result_ 27 | : F::arity 28 | { 29 | }; 30 | }; 31 | 32 | template< typename F > 33 | struct template_arity 34 | : template_arity_impl< ::boost::mpl::aux::has_rebind::value > 35 | ::template result_ 36 | { 37 | }; 38 | 39 | }}} 40 | 41 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp: -------------------------------------------------------------------------------- 1 | 2 | // Copyright Aleksey Gurtovoy 2000-2008 3 | // 4 | // Distributed under the Boost Software License, Version 1.0. 5 | // (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | 9 | // *Preprocessed* version of the main "quote.hpp" header 10 | // -- DO NOT modify by hand! 11 | 12 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp: -------------------------------------------------------------------------------- 1 | 2 | // Copyright Aleksey Gurtovoy 2001-2004 3 | // 4 | // Distributed under the Boost Software License, Version 1.0. 5 | // (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | 9 | // *Preprocessed* version of the main "template_arity.hpp" header 10 | // -- DO NOT modify by hand! 11 | 12 | namespace boost { namespace mpl { namespace aux { 13 | 14 | template< bool > 15 | struct template_arity_impl 16 | { 17 | template< typename F > struct result_ 18 | : mpl::int_< -1 > 19 | { 20 | }; 21 | }; 22 | 23 | template<> 24 | struct template_arity_impl 25 | { 26 | template< typename F > struct result_ 27 | : F::arity 28 | { 29 | }; 30 | }; 31 | 32 | template< typename F > 33 | struct template_arity 34 | : template_arity_impl< ::boost::mpl::aux::has_rebind::value > 35 | ::template result_ 36 | { 37 | }; 38 | 39 | }}} 40 | 41 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp: -------------------------------------------------------------------------------- 1 | 2 | // Copyright Aleksey Gurtovoy 2001-2004 3 | // 4 | // Distributed under the Boost Software License, Version 1.0. 5 | // (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | 9 | // Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header 10 | // -- DO NOT modify by hand! 11 | 12 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/preprocessed/msvc60/quote.hpp: -------------------------------------------------------------------------------- 1 | 2 | // Copyright Aleksey Gurtovoy 2000-2004 3 | // 4 | // Distributed under the Boost Software License, Version 1.0. 5 | // (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | 9 | // Preprocessed version of "boost/mpl/quote.hpp" header 10 | // -- DO NOT modify by hand! 11 | 12 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp: -------------------------------------------------------------------------------- 1 | 2 | // Copyright Aleksey Gurtovoy 2001-2004 3 | // 4 | // Distributed under the Boost Software License, Version 1.0. 5 | // (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | 9 | // Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header 10 | // -- DO NOT modify by hand! 11 | 12 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp: -------------------------------------------------------------------------------- 1 | 2 | // Copyright Aleksey Gurtovoy 2001-2004 3 | // 4 | // Distributed under the Boost Software License, Version 1.0. 5 | // (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | 9 | // Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header 10 | // -- DO NOT modify by hand! 11 | 12 | namespace boost { namespace mpl { namespace aux { 13 | 14 | template< bool > 15 | struct template_arity_impl 16 | { 17 | template< typename F > struct result_ 18 | : mpl::int_< -1 > 19 | { 20 | }; 21 | }; 22 | 23 | template<> 24 | struct template_arity_impl 25 | { 26 | template< typename F > struct result_ 27 | : F::arity 28 | { 29 | }; 30 | }; 31 | 32 | template< typename F > 33 | struct template_arity 34 | : template_arity_impl< ::boost::mpl::aux::has_rebind::value > 35 | ::template result_ 36 | { 37 | }; 38 | 39 | }}} 40 | 41 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp: -------------------------------------------------------------------------------- 1 | 2 | // Copyright Aleksey Gurtovoy 2000-2004 3 | // 4 | // Distributed under the Boost Software License, Version 1.0. 5 | // (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | 9 | // Preprocessed version of "boost/mpl/quote.hpp" header 10 | // -- DO NOT modify by hand! 11 | 12 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp: -------------------------------------------------------------------------------- 1 | 2 | // Copyright Aleksey Gurtovoy 2001-2004 3 | // 4 | // Distributed under the Boost Software License, Version 1.0. 5 | // (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | 9 | // Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header 10 | // -- DO NOT modify by hand! 11 | 12 | namespace boost { namespace mpl { namespace aux { 13 | 14 | template< bool > 15 | struct template_arity_impl 16 | { 17 | template< typename F > struct result_ 18 | : mpl::int_< -1 > 19 | { 20 | }; 21 | }; 22 | 23 | template<> 24 | struct template_arity_impl 25 | { 26 | template< typename F > struct result_ 27 | : F::arity 28 | { 29 | }; 30 | }; 31 | 32 | template< typename F > 33 | struct template_arity 34 | : template_arity_impl< ::boost::mpl::aux::has_rebind::value > 35 | ::template result_ 36 | { 37 | }; 38 | 39 | }}} 40 | 41 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/preprocessed/plain/template_arity.hpp: -------------------------------------------------------------------------------- 1 | 2 | // Copyright Aleksey Gurtovoy 2001-2004 3 | // 4 | // Distributed under the Boost Software License, Version 1.0. 5 | // (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | 9 | // Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header 10 | // -- DO NOT modify by hand! 11 | 12 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/static_cast.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2001-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \ 20 | || BOOST_WORKAROUND(__GNUC__, < 3) \ 21 | || BOOST_WORKAROUND(__MWERKS__, <= 0x3001) 22 | # define BOOST_MPL_AUX_STATIC_CAST(T, expr) (T)(expr) 23 | #else 24 | # define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast(expr) 25 | #endif 26 | 27 | #endif // BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED 28 | -------------------------------------------------------------------------------- /external/boost/mpl/aux_/template_arity_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2001-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { namespace aux { 18 | 19 | template< typename F > struct template_arity; 20 | 21 | }}} 22 | 23 | #endif // BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED 24 | -------------------------------------------------------------------------------- /external/boost/mpl/back_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_BACK_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_BACK_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct back_impl; 20 | template< typename Sequence > struct back; 21 | 22 | }} 23 | 24 | #endif // BOOST_MPL_BACK_FWD_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/back_inserter.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_BACK_INSERTER_HPP_INCLUDED 3 | #define BOOST_MPL_BACK_INSERTER_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2003-2004 6 | // Copyright David Abrahams 2003-2004 7 | // 8 | // Distributed under the Boost Software License, Version 1.0. 9 | // (See accompanying file LICENSE_1_0.txt or copy at 10 | // http://www.boost.org/LICENSE_1_0.txt) 11 | // 12 | // See http://www.boost.org/libs/mpl for documentation. 13 | 14 | // $Id$ 15 | // $Date$ 16 | // $Revision$ 17 | 18 | #include 19 | #include 20 | 21 | namespace boost { 22 | namespace mpl { 23 | 24 | template< 25 | typename Sequence 26 | > 27 | struct back_inserter 28 | : inserter< Sequence,push_back<> > 29 | { 30 | }; 31 | 32 | }} 33 | 34 | #endif // BOOST_MPL_BACK_INSERTER_HPP_INCLUDED 35 | -------------------------------------------------------------------------------- /external/boost/mpl/base.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_BASE_HPP_INCLUDED 3 | #define BOOST_MPL_BASE_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | 20 | namespace boost { namespace mpl { 21 | 22 | template< 23 | typename BOOST_MPL_AUX_NA_PARAM(T) 24 | > 25 | struct base 26 | { 27 | typedef typename T::base type; 28 | BOOST_MPL_AUX_LAMBDA_SUPPORT(1,base,(T)) 29 | }; 30 | 31 | BOOST_MPL_AUX_NA_SPEC(1, base) 32 | 33 | }} 34 | 35 | #endif // BOOST_MPL_BASE_HPP_INCLUDED 36 | -------------------------------------------------------------------------------- /external/boost/mpl/begin_end_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct begin_impl; 20 | template< typename Tag > struct end_impl; 21 | 22 | template< typename Sequence > struct begin; 23 | template< typename Sequence > struct end; 24 | 25 | }} 26 | 27 | #endif // BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED 28 | -------------------------------------------------------------------------------- /external/boost/mpl/bool_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_BOOL_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_BOOL_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN 20 | 21 | template< bool C_ > struct bool_; 22 | 23 | // shorcuts 24 | typedef bool_ true_; 25 | typedef bool_ false_; 26 | 27 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE 28 | 29 | BOOST_MPL_AUX_ADL_BARRIER_DECL(bool_) 30 | BOOST_MPL_AUX_ADL_BARRIER_DECL(true_) 31 | BOOST_MPL_AUX_ADL_BARRIER_DECL(false_) 32 | 33 | #endif // BOOST_MPL_BOOL_FWD_HPP_INCLUDED 34 | -------------------------------------------------------------------------------- /external/boost/mpl/clear_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_CLEAR_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_CLEAR_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct clear_impl; 20 | template< typename Sequence > struct clear; 21 | 22 | }} 23 | 24 | #endif // BOOST_MPL_CLEAR_FWD_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/comparison.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_COMPARISON_HPP_INCLUDED 3 | #define BOOST_MPL_COMPARISON_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | 24 | #endif // BOOST_MPL_COMPARISON_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/contains_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED 4 | 5 | // Copyright Eric Friedman 2002 6 | // Copyright Aleksey Gurtovoy 2004 7 | // 8 | // Distributed under the Boost Software License, Version 1.0. 9 | // (See accompanying file LICENSE_1_0.txt or copy at 10 | // http://www.boost.org/LICENSE_1_0.txt) 11 | // 12 | // See http://www.boost.org/libs/mpl for documentation. 13 | 14 | // $Id$ 15 | // $Date$ 16 | // $Revision$ 17 | 18 | namespace boost { namespace mpl { 19 | 20 | template< typename Tag > struct contains_impl; 21 | template< typename Sequence, typename T > struct contains; 22 | 23 | }} 24 | 25 | #endif // BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED 26 | -------------------------------------------------------------------------------- /external/boost/mpl/distance_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | namespace boost { namespace mpl { 20 | 21 | BOOST_MPL_AUX_COMMON_NAME_WKND(distance) 22 | 23 | template< typename Tag > struct distance_impl; 24 | template< typename First, typename Last > struct distance; 25 | 26 | }} 27 | 28 | #endif // BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED 29 | -------------------------------------------------------------------------------- /external/boost/mpl/empty_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_EMPTY_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_EMPTY_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct empty_impl; 20 | template< typename Sequence > struct empty; 21 | 22 | }} 23 | 24 | #endif // BOOST_MPL_EMPTY_FWD_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/equal_to.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_EQUAL_TO_HPP_INCLUDED 3 | #define BOOST_MPL_EQUAL_TO_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #define AUX778076_OP_NAME equal_to 18 | #define AUX778076_OP_TOKEN == 19 | #include 20 | 21 | #endif // BOOST_MPL_EQUAL_TO_HPP_INCLUDED 22 | -------------------------------------------------------------------------------- /external/boost/mpl/erase_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_ERASE_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_ERASE_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct erase_impl; 20 | template< typename Sequence, typename First, typename Last > struct erase; 21 | 22 | }} 23 | 24 | #endif // BOOST_MPL_ERASE_FWD_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/erase_key_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct erase_key_impl; 20 | template< typename Sequence, typename Key > struct erase_key; 21 | 22 | }} 23 | 24 | #endif // BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/front_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_FRONT_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_FRONT_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct front_impl; 20 | template< typename Sequence > struct front; 21 | 22 | }} 23 | 24 | #endif // BOOST_MPL_FRONT_FWD_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/front_inserter.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED 3 | #define BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2003-2004 6 | // Copyright David Abrahams 2003-2004 7 | // 8 | // Distributed under the Boost Software License, Version 1.0. 9 | // (See accompanying file LICENSE_1_0.txt or copy at 10 | // http://www.boost.org/LICENSE_1_0.txt) 11 | // 12 | // See http://www.boost.org/libs/mpl for documentation. 13 | 14 | // $Id$ 15 | // $Date$ 16 | // $Revision$ 17 | 18 | #include 19 | #include 20 | 21 | namespace boost { namespace mpl { 22 | 23 | template< 24 | typename Sequence 25 | > 26 | struct front_inserter 27 | : inserter< Sequence,push_front<> > 28 | { 29 | }; 30 | 31 | }} 32 | 33 | #endif // BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED 34 | -------------------------------------------------------------------------------- /external/boost/mpl/greater.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_GREATER_HPP_INCLUDED 3 | #define BOOST_MPL_GREATER_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #define AUX778076_OP_NAME greater 18 | #define AUX778076_OP_TOKEN > 19 | #include 20 | 21 | #endif // BOOST_MPL_GREATER_HPP_INCLUDED 22 | -------------------------------------------------------------------------------- /external/boost/mpl/greater_equal.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED 3 | #define BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #define AUX778076_OP_NAME greater_equal 18 | #define AUX778076_OP_TOKEN >= 19 | #include 20 | 21 | #endif // BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED 22 | -------------------------------------------------------------------------------- /external/boost/mpl/has_key_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2003-2004 6 | // Copyright David Abrahams 2003-2004 7 | // 8 | // Distributed under the Boost Software License, Version 1.0. 9 | // (See accompanying file LICENSE_1_0.txt or copy at 10 | // http://www.boost.org/LICENSE_1_0.txt) 11 | // 12 | // See http://www.boost.org/libs/mpl for documentation. 13 | 14 | // $Id$ 15 | // $Date$ 16 | // $Revision$ 17 | 18 | namespace boost { namespace mpl { 19 | 20 | template< typename Tag > struct has_key_impl; 21 | template< typename AssociativeSequence, typename Key > struct has_key; 22 | 23 | }} 24 | 25 | #endif // BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED 26 | -------------------------------------------------------------------------------- /external/boost/mpl/insert_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_INSERT_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_INSERT_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct insert_impl; 20 | template< typename Sequence, typename Pos_or_T, typename T > struct insert; 21 | 22 | }} 23 | 24 | #endif // BOOST_MPL_INSERT_FWD_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/insert_range_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_INSERT_RANGE_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_INSERT_RANGE_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct insert_range_impl; 20 | template< typename Sequence, typename Pos, typename Range > struct insert_range; 21 | 22 | }} 23 | 24 | #endif // BOOST_MPL_INSERT_RANGE_FWD_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/inserter.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_INSERTER_HPP_INCLUDED 3 | #define BOOST_MPL_INSERTER_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2003-2004 6 | // Copyright David Abrahams 2003-2004 7 | // 8 | // Distributed under the Boost Software License, Version 1.0. 9 | // (See accompanying file LICENSE_1_0.txt or copy at 10 | // http://www.boost.org/LICENSE_1_0.txt) 11 | // 12 | // See http://www.boost.org/libs/mpl for documentation. 13 | 14 | // $Id$ 15 | // $Date$ 16 | // $Revision$ 17 | 18 | namespace boost { namespace mpl { 19 | 20 | template< 21 | typename Sequence 22 | , typename Operation 23 | > 24 | struct inserter 25 | { 26 | typedef Sequence state; 27 | typedef Operation operation; 28 | }; 29 | 30 | }} 31 | 32 | #endif // BOOST_MPL_INSERTER_HPP_INCLUDED 33 | -------------------------------------------------------------------------------- /external/boost/mpl/int.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_INT_HPP_INCLUDED 3 | #define BOOST_MPL_INT_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | #define AUX_WRAPPER_VALUE_TYPE int 20 | #include 21 | 22 | #endif // BOOST_MPL_INT_HPP_INCLUDED 23 | -------------------------------------------------------------------------------- /external/boost/mpl/int_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_INT_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_INT_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | 20 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN 21 | 22 | template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct int_; 23 | 24 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE 25 | BOOST_MPL_AUX_ADL_BARRIER_DECL(int_) 26 | 27 | #endif // BOOST_MPL_INT_FWD_HPP_INCLUDED 28 | -------------------------------------------------------------------------------- /external/boost/mpl/integral_c_tag.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED 3 | #define BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | 18 | #include 19 | #include 20 | 21 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN 22 | struct integral_c_tag { BOOST_STATIC_CONSTANT(int, value = 0); }; 23 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE 24 | BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c_tag) 25 | 26 | #endif // BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED 27 | -------------------------------------------------------------------------------- /external/boost/mpl/iterator_category.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_ITERATOR_CATEGORY_HPP_INCLUDED 3 | #define BOOST_MPL_ITERATOR_CATEGORY_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | 20 | namespace boost { namespace mpl { 21 | 22 | template< 23 | typename BOOST_MPL_AUX_NA_PARAM(Iterator) 24 | > 25 | struct iterator_category 26 | { 27 | typedef typename Iterator::category type; 28 | BOOST_MPL_AUX_LAMBDA_SUPPORT(1,iterator_category,(Iterator)) 29 | }; 30 | 31 | BOOST_MPL_AUX_NA_SPEC(1, iterator_category) 32 | 33 | }} 34 | 35 | #endif // BOOST_MPL_ITERATOR_CATEGORY_HPP_INCLUDED 36 | -------------------------------------------------------------------------------- /external/boost/mpl/iterator_tags.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED 3 | #define BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | namespace boost { namespace mpl { 20 | 21 | struct forward_iterator_tag : int_<0> { typedef forward_iterator_tag type; }; 22 | struct bidirectional_iterator_tag : int_<1> { typedef bidirectional_iterator_tag type; }; 23 | struct random_access_iterator_tag : int_<2> { typedef random_access_iterator_tag type; }; 24 | 25 | }} 26 | 27 | #endif // BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED 28 | -------------------------------------------------------------------------------- /external/boost/mpl/key_type_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2003-2004 6 | // Copyright David Abrahams 2003-2004 7 | // 8 | // Distributed under the Boost Software License, Version 1.0. 9 | // (See accompanying file LICENSE_1_0.txt or copy at 10 | // http://www.boost.org/LICENSE_1_0.txt) 11 | // 12 | // See http://www.boost.org/libs/mpl for documentation. 13 | 14 | // $Id$ 15 | // $Date$ 16 | // $Revision$ 17 | 18 | namespace boost { namespace mpl { 19 | 20 | template< typename Tag > struct key_type_impl; 21 | template< typename AssociativeSequence, typename T > struct key_type; 22 | 23 | }} 24 | 25 | #endif // BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED 26 | -------------------------------------------------------------------------------- /external/boost/mpl/lambda.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_LAMBDA_HPP_INCLUDED 3 | #define BOOST_MPL_LAMBDA_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2001-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | #include 20 | 21 | #if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) 22 | # include 23 | #else 24 | # include 25 | # include 26 | # define BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS 27 | #endif 28 | 29 | #endif // BOOST_MPL_LAMBDA_HPP_INCLUDED 30 | -------------------------------------------------------------------------------- /external/boost/mpl/less.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_LESS_HPP_INCLUDED 3 | #define BOOST_MPL_LESS_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #define AUX778076_OP_NAME less 18 | #define AUX778076_OP_TOKEN < 19 | #include 20 | 21 | #endif // BOOST_MPL_LESS_HPP_INCLUDED 22 | -------------------------------------------------------------------------------- /external/boost/mpl/less_equal.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_LESS_EQUAL_HPP_INCLUDED 3 | #define BOOST_MPL_LESS_EQUAL_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #define AUX778076_OP_NAME less_equal 18 | #define AUX778076_OP_TOKEN <= 19 | #include 20 | 21 | #endif // BOOST_MPL_LESS_EQUAL_HPP_INCLUDED 22 | -------------------------------------------------------------------------------- /external/boost/mpl/limits/arity.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED 3 | #define BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #if !defined(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) 18 | # define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 5 19 | #endif 20 | 21 | #endif // BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED 22 | -------------------------------------------------------------------------------- /external/boost/mpl/limits/unrolling.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED 3 | #define BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #if !defined(BOOST_MPL_LIMIT_UNROLLING) 18 | # define BOOST_MPL_LIMIT_UNROLLING 4 19 | #endif 20 | 21 | #endif // BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED 22 | -------------------------------------------------------------------------------- /external/boost/mpl/limits/vector.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED 3 | #define BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #if !defined(BOOST_MPL_LIMIT_VECTOR_SIZE) 18 | # define BOOST_MPL_LIMIT_VECTOR_SIZE 20 19 | #endif 20 | 21 | #endif // BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED 22 | -------------------------------------------------------------------------------- /external/boost/mpl/logical.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_LOGICAL_HPP_INCLUDED 3 | #define BOOST_MPL_LOGICAL_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | #include 20 | 21 | #endif // BOOST_MPL_LOGICAL_HPP_INCLUDED 22 | -------------------------------------------------------------------------------- /external/boost/mpl/long.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_LONG_HPP_INCLUDED 3 | #define BOOST_MPL_LONG_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | #define AUX_WRAPPER_VALUE_TYPE long 20 | #include 21 | 22 | #endif // BOOST_MPL_LONG_HPP_INCLUDED 23 | -------------------------------------------------------------------------------- /external/boost/mpl/long_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_LONG_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_LONG_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | 20 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN 21 | 22 | template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct long_; 23 | 24 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE 25 | BOOST_MPL_AUX_ADL_BARRIER_DECL(long_) 26 | 27 | #endif // BOOST_MPL_LONG_FWD_HPP_INCLUDED 28 | -------------------------------------------------------------------------------- /external/boost/mpl/minus.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_MINUS_HPP_INCLUDED 3 | #define BOOST_MPL_MINUS_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #define AUX778076_OP_NAME minus 18 | #define AUX778076_OP_TOKEN - 19 | #include 20 | 21 | #endif // BOOST_MPL_MINUS_HPP_INCLUDED 22 | -------------------------------------------------------------------------------- /external/boost/mpl/next.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_NEXT_HPP_INCLUDED 3 | #define BOOST_MPL_NEXT_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | #endif // BOOST_MPL_NEXT_HPP_INCLUDED 20 | -------------------------------------------------------------------------------- /external/boost/mpl/not_equal_to.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED 3 | #define BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #define AUX778076_OP_NAME not_equal_to 18 | #define AUX778076_OP_TOKEN != 19 | #include 20 | 21 | #endif // BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED 22 | -------------------------------------------------------------------------------- /external/boost/mpl/plus.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_PLUS_HPP_INCLUDED 3 | #define BOOST_MPL_PLUS_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #define AUX778076_OP_NAME plus 18 | #define AUX778076_OP_TOKEN + 19 | #include 20 | 21 | #endif // BOOST_MPL_PLUS_HPP_INCLUDED 22 | -------------------------------------------------------------------------------- /external/boost/mpl/pop_back_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct pop_back_impl; 20 | template< typename Sequence > struct pop_back; 21 | 22 | }} 23 | 24 | #endif // BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/pop_front_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct pop_front_impl; 20 | template< typename Sequence > struct pop_front; 21 | 22 | }} 23 | 24 | #endif // BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/prior.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_PRIOR_HPP_INCLUDED 3 | #define BOOST_MPL_PRIOR_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | #endif // BOOST_MPL_PRIOR_HPP_INCLUDED 20 | -------------------------------------------------------------------------------- /external/boost/mpl/push_back_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct push_back_impl; 20 | template< typename Sequence, typename T > struct push_back; 21 | 22 | }} 23 | 24 | #endif // BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/push_front_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct push_front_impl; 20 | template< typename Sequence, typename T > struct push_front; 21 | 22 | }} 23 | 24 | #endif // BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/sequence_tag_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | struct nested_begin_end_tag; 20 | struct non_sequence_tag; 21 | 22 | template< typename Sequence > struct sequence_tag; 23 | 24 | }} 25 | 26 | #endif // BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED 27 | -------------------------------------------------------------------------------- /external/boost/mpl/set/aux_/clear_impl.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED 3 | #define BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2003-2004 6 | // Copyright David Abrahams 2003-2004 7 | // 8 | // Distributed under the Boost Software License, Version 1.0. 9 | // (See accompanying file LICENSE_1_0.txt or copy at 10 | // http://www.boost.org/LICENSE_1_0.txt) 11 | // 12 | // See http://www.boost.org/libs/mpl for documentation. 13 | 14 | // $Id$ 15 | // $Date$ 16 | // $Revision$ 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | namespace boost { namespace mpl { 23 | 24 | template<> 25 | struct clear_impl< aux::set_tag > 26 | { 27 | template< typename Set > struct apply 28 | { 29 | typedef set0<> type; 30 | }; 31 | }; 32 | 33 | }} 34 | 35 | #endif // BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED 36 | -------------------------------------------------------------------------------- /external/boost/mpl/set/aux_/empty_impl.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED 3 | #define BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2003-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | #include 20 | 21 | namespace boost { namespace mpl { 22 | 23 | template<> 24 | struct empty_impl< aux::set_tag > 25 | { 26 | template< typename Set > struct apply 27 | : not_< typename Set::size > 28 | { 29 | }; 30 | }; 31 | 32 | }} 33 | 34 | #endif // BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED 35 | -------------------------------------------------------------------------------- /external/boost/mpl/set/aux_/key_type_impl.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED 3 | #define BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2003-2004 6 | // Copyright David Abrahams 2003-2004 7 | // 8 | // Distributed under the Boost Software License, Version 1.0. 9 | // (See accompanying file LICENSE_1_0.txt or copy at 10 | // http://www.boost.org/LICENSE_1_0.txt) 11 | // 12 | // See http://www.boost.org/libs/mpl for documentation. 13 | 14 | // $Id$ 15 | // $Date$ 16 | // $Revision$ 17 | 18 | #include 19 | #include 20 | 21 | namespace boost { namespace mpl { 22 | 23 | template<> 24 | struct key_type_impl< aux::set_tag > 25 | { 26 | template< typename Set, typename T > struct apply 27 | { 28 | typedef T type; 29 | }; 30 | }; 31 | 32 | }} 33 | 34 | #endif // BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED 35 | -------------------------------------------------------------------------------- /external/boost/mpl/set/aux_/size_impl.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED 3 | #define BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2003-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | 20 | namespace boost { namespace mpl { 21 | 22 | template<> 23 | struct size_impl< aux::set_tag > 24 | { 25 | template< typename Set > struct apply 26 | : Set::size 27 | { 28 | }; 29 | }; 30 | 31 | }} 32 | 33 | #endif // BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED 34 | -------------------------------------------------------------------------------- /external/boost/mpl/set/aux_/tag.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED 3 | #define BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2003-2004 6 | // Copyright David Abrahams 2003-2004 7 | // 8 | // Distributed under the Boost Software License, Version 1.0. 9 | // (See accompanying file LICENSE_1_0.txt or copy at 10 | // http://www.boost.org/LICENSE_1_0.txt) 11 | // 12 | // See http://www.boost.org/libs/mpl for documentation. 13 | 14 | // $Id$ 15 | // $Date$ 16 | // $Revision$ 17 | 18 | namespace boost { namespace mpl { namespace aux { 19 | 20 | struct set_tag; 21 | 22 | }}} 23 | 24 | #endif // BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/set/aux_/value_type_impl.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED 3 | #define BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2003-2004 6 | // Copyright David Abrahams 2003-2004 7 | // 8 | // Distributed under the Boost Software License, Version 1.0. 9 | // (See accompanying file LICENSE_1_0.txt or copy at 10 | // http://www.boost.org/LICENSE_1_0.txt) 11 | // 12 | // See http://www.boost.org/libs/mpl for documentation. 13 | 14 | // $Id$ 15 | // $Date$ 16 | // $Revision$ 17 | 18 | #include 19 | #include 20 | 21 | namespace boost { namespace mpl { 22 | 23 | template<> 24 | struct value_type_impl< aux::set_tag > 25 | { 26 | template< typename Set, typename T > struct apply 27 | { 28 | typedef T type; 29 | }; 30 | }; 31 | 32 | }} 33 | 34 | #endif // BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED 35 | -------------------------------------------------------------------------------- /external/boost/mpl/size_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_SIZE_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_SIZE_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | namespace boost { namespace mpl { 18 | 19 | template< typename Tag > struct size_impl; 20 | template< typename Sequence > struct size; 21 | 22 | }} 23 | 24 | #endif // BOOST_MPL_SIZE_FWD_HPP_INCLUDED 25 | -------------------------------------------------------------------------------- /external/boost/mpl/value_type_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2003-2004 6 | // Copyright David Abrahams 2003-2004 7 | // 8 | // Distributed under the Boost Software License, Version 1.0. 9 | // (See accompanying file LICENSE_1_0.txt or copy at 10 | // http://www.boost.org/LICENSE_1_0.txt) 11 | // 12 | // See http://www.boost.org/libs/mpl for documentation. 13 | 14 | // $Id$ 15 | // $Date$ 16 | // $Revision$ 17 | 18 | namespace boost { namespace mpl { 19 | 20 | template< typename Tag > struct value_type_impl; 21 | template< typename AssociativeSequence, typename T > struct value_type; 22 | 23 | }} 24 | 25 | #endif // BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED 26 | -------------------------------------------------------------------------------- /external/boost/mpl/vector/aux_/tag.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED 3 | #define BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | 20 | namespace boost { namespace mpl { namespace aux { 21 | 22 | struct v_iter_tag; 23 | 24 | #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) 25 | struct vector_tag; 26 | #else 27 | template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct vector_tag; 28 | #endif 29 | 30 | }}} 31 | 32 | #endif // BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED 33 | -------------------------------------------------------------------------------- /external/boost/mpl/vector/vector0_c.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED 3 | #define BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2000-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | #include 19 | 20 | namespace boost { namespace mpl { 21 | 22 | template< typename T > struct vector0_c 23 | : vector0<> 24 | { 25 | typedef vector0_c type; 26 | typedef T value_type; 27 | }; 28 | 29 | }} 30 | 31 | #endif // BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED 32 | -------------------------------------------------------------------------------- /external/boost/mpl/void_fwd.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef BOOST_MPL_VOID_FWD_HPP_INCLUDED 3 | #define BOOST_MPL_VOID_FWD_HPP_INCLUDED 4 | 5 | // Copyright Aleksey Gurtovoy 2001-2004 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // (See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt) 10 | // 11 | // See http://www.boost.org/libs/mpl for documentation. 12 | 13 | // $Id$ 14 | // $Date$ 15 | // $Revision$ 16 | 17 | #include 18 | 19 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN 20 | 21 | struct void_; 22 | 23 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE 24 | BOOST_MPL_AUX_ADL_BARRIER_DECL(void_) 25 | 26 | #endif // BOOST_MPL_VOID_FWD_HPP_INCLUDED 27 | -------------------------------------------------------------------------------- /external/boost/multi_index/detail/do_not_copy_elements_tag.hpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2003-2013 Joaquin M Lopez Munoz. 2 | * Distributed under the Boost Software License, Version 1.0. 3 | * (See accompanying file LICENSE_1_0.txt or copy at 4 | * http://www.boost.org/LICENSE_1_0.txt) 5 | * 6 | * See http://www.boost.org/libs/multi_index for library home page. 7 | */ 8 | 9 | #ifndef BOOST_MULTI_INDEX_DETAIL_DO_NOT_COPY_ELEMENTS_TAG_HPP 10 | #define BOOST_MULTI_INDEX_DETAIL_DO_NOT_COPY_ELEMENTS_TAG_HPP 11 | 12 | #if defined(_MSC_VER) 13 | #pragma once 14 | #endif 15 | 16 | namespace boost{ 17 | 18 | namespace multi_index{ 19 | 20 | namespace detail{ 21 | 22 | /* Used to mark a special ctor variant that copies the internal objects of 23 | * a container but not its elements. 24 | */ 25 | 26 | struct do_not_copy_elements_tag{}; 27 | 28 | } /* namespace multi_index::detail */ 29 | 30 | } /* namespace multi_index */ 31 | 32 | } /* namespace boost */ 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /external/boost/multi_index/detail/ignore_wstrict_aliasing.hpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2003-2016 Joaquin M Lopez Munoz. 2 | * Distributed under the Boost Software License, Version 1.0. 3 | * (See accompanying file LICENSE_1_0.txt or copy at 4 | * http://www.boost.org/LICENSE_1_0.txt) 5 | * 6 | * See http://www.boost.org/libs/multi_index for library home page. 7 | */ 8 | 9 | #include 10 | 11 | #if defined(BOOST_GCC)&&(BOOST_GCC>=4*10000+6*100) 12 | #if !defined(BOOST_MULTI_INDEX_DETAIL_RESTORE_WSTRICT_ALIASING) 13 | #pragma GCC diagnostic push 14 | #pragma GCC diagnostic ignored "-Wstrict-aliasing" 15 | #else 16 | #pragma GCC diagnostic pop 17 | #endif 18 | #endif 19 | -------------------------------------------------------------------------------- /external/boost/multi_index/detail/invariant_assert.hpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2003-2013 Joaquin M Lopez Munoz. 2 | * Distributed under the Boost Software License, Version 1.0. 3 | * (See accompanying file LICENSE_1_0.txt or copy at 4 | * http://www.boost.org/LICENSE_1_0.txt) 5 | * 6 | * See http://www.boost.org/libs/multi_index for library home page. 7 | */ 8 | 9 | #ifndef BOOST_MULTI_INDEX_DETAIL_INVARIANT_ASSERT_HPP 10 | #define BOOST_MULTI_INDEX_DETAIL_INVARIANT_ASSERT_HPP 11 | 12 | #if defined(_MSC_VER) 13 | #pragma once 14 | #endif 15 | 16 | #if !defined(BOOST_MULTI_INDEX_INVARIANT_ASSERT) 17 | #include 18 | #define BOOST_MULTI_INDEX_INVARIANT_ASSERT BOOST_ASSERT 19 | #endif 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /external/boost/multi_index/detail/restore_wstrict_aliasing.hpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2003-2016 Joaquin M Lopez Munoz. 2 | * Distributed under the Boost Software License, Version 1.0. 3 | * (See accompanying file LICENSE_1_0.txt or copy at 4 | * http://www.boost.org/LICENSE_1_0.txt) 5 | * 6 | * See http://www.boost.org/libs/multi_index for library home page. 7 | */ 8 | 9 | #define BOOST_MULTI_INDEX_DETAIL_RESTORE_WSTRICT_ALIASING 10 | #include 11 | #undef BOOST_MULTI_INDEX_DETAIL_RESTORE_WSTRICT_ALIASING 12 | -------------------------------------------------------------------------------- /external/boost/multi_index/identity_fwd.hpp: -------------------------------------------------------------------------------- 1 | /* Copyright 2003-2013 Joaquin M Lopez Munoz. 2 | * Distributed under the Boost Software License, Version 1.0. 3 | * (See accompanying file LICENSE_1_0.txt or copy at 4 | * http://www.boost.org/LICENSE_1_0.txt) 5 | * 6 | * See http://www.boost.org/libs/multi_index for library home page. 7 | */ 8 | 9 | #ifndef BOOST_MULTI_INDEX_IDENTITY_FWD_HPP 10 | #define BOOST_MULTI_INDEX_IDENTITY_FWD_HPP 11 | 12 | #if defined(_MSC_VER) 13 | #pragma once 14 | #endif 15 | 16 | namespace boost{ 17 | 18 | namespace multi_index{ 19 | 20 | template struct identity; 21 | 22 | } /* namespace multi_index */ 23 | 24 | } /* namespace boost */ 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /external/boost/noncopyable.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014 Glen Fernandes 3 | * 4 | * Distributed under the Boost Software License, Version 1.0. (See 5 | * accompanying file LICENSE_1_0.txt or copy at 6 | * http://www.boost.org/LICENSE_1_0.txt) 7 | */ 8 | 9 | #ifndef BOOST_NONCOPYABLE_HPP 10 | #define BOOST_NONCOPYABLE_HPP 11 | 12 | // The header file at this path is deprecated; 13 | // use boost/core/noncopyable.hpp instead. 14 | 15 | #include 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /external/boost/optional.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2003, Fernando Luis Cacciola Carballal. 2 | // 3 | // Use, modification, and distribution is subject to the Boost Software 4 | // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 5 | // http://www.boost.org/LICENSE_1_0.txt) 6 | // 7 | // See http://www.boost.org/libs/optional for documentation. 8 | // 9 | // You are welcome to contact the author at: 10 | // fernando_cacciola@hotmail.com 11 | // 12 | #ifndef BOOST_OPTIONAL_FLC_19NOV2002_HPP 13 | #define BOOST_OPTIONAL_FLC_19NOV2002_HPP 14 | 15 | #include "boost/optional/optional.hpp" 16 | 17 | #endif 18 | 19 | -------------------------------------------------------------------------------- /external/boost/preprocessor/comma_if.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP 13 | # define BOOST_PREPROCESSOR_COMMA_IF_HPP 14 | # 15 | # include 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /external/boost/preprocessor/dec.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_DEC_HPP 13 | # define BOOST_PREPROCESSOR_DEC_HPP 14 | # 15 | # include 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /external/boost/preprocessor/empty.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_EMPTY_HPP 13 | # define BOOST_PREPROCESSOR_EMPTY_HPP 14 | # 15 | # include 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /external/boost/preprocessor/enum.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_ENUM_HPP 13 | # define BOOST_PREPROCESSOR_ENUM_HPP 14 | # 15 | # include 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /external/boost/preprocessor/enum_params.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_HPP 13 | # define BOOST_PREPROCESSOR_ENUM_PARAMS_HPP 14 | # 15 | # include 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /external/boost/preprocessor/enum_params_with_a_default.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP 13 | # define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP 14 | # 15 | # include 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /external/boost/preprocessor/enum_shifted_params.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP 13 | # define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP 14 | # 15 | # include 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /external/boost/preprocessor/expr_if.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_EXPR_IF_HPP 13 | # define BOOST_PREPROCESSOR_EXPR_IF_HPP 14 | # 15 | # include 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /external/boost/preprocessor/facilities/empty.hpp: -------------------------------------------------------------------------------- 1 | # /* Copyright (C) 2001 2 | # * Housemarque Oy 3 | # * http://www.housemarque.com 4 | # * 5 | # * Distributed under the Boost Software License, Version 1.0. (See 6 | # * accompanying file LICENSE_1_0.txt or copy at 7 | # * http://www.boost.org/LICENSE_1_0.txt) 8 | # */ 9 | # 10 | # /* Revised by Paul Mensonides (2002) */ 11 | # 12 | # /* See http://www.boost.org for most recent version. */ 13 | # 14 | # ifndef BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP 15 | # define BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP 16 | # 17 | # include 18 | # 19 | # /* BOOST_PP_EMPTY */ 20 | # 21 | # define BOOST_PP_EMPTY() 22 | # 23 | # endif 24 | -------------------------------------------------------------------------------- /external/boost/preprocessor/facilities/expand.hpp: -------------------------------------------------------------------------------- 1 | # /* Copyright (C) 2001 2 | # * Housemarque Oy 3 | # * http://www.housemarque.com 4 | # * 5 | # * Distributed under the Boost Software License, Version 1.0. (See 6 | # * accompanying file LICENSE_1_0.txt or copy at 7 | # * http://www.boost.org/LICENSE_1_0.txt) 8 | # */ 9 | # 10 | # /* Revised by Paul Mensonides (2002) */ 11 | # 12 | # /* See http://www.boost.org for most recent version. */ 13 | # 14 | # ifndef BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP 15 | # define BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP 16 | # 17 | # include 18 | # 19 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() 20 | # define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_I(x) 21 | # else 22 | # define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_OO((x)) 23 | # define BOOST_PP_EXPAND_OO(par) BOOST_PP_EXPAND_I ## par 24 | # endif 25 | # 26 | # define BOOST_PP_EXPAND_I(x) x 27 | # 28 | # endif 29 | -------------------------------------------------------------------------------- /external/boost/preprocessor/facilities/identity.hpp: -------------------------------------------------------------------------------- 1 | # /* Copyright (C) 2001 2 | # * Housemarque Oy 3 | # * http://www.housemarque.com 4 | # * 5 | # * Distributed under the Boost Software License, Version 1.0. (See 6 | # * accompanying file LICENSE_1_0.txt or copy at 7 | # * http://www.boost.org/LICENSE_1_0.txt) 8 | # */ 9 | # 10 | # /* Revised by Paul Mensonides (2002) */ 11 | # /* Revised by Edward Diener (2015) */ 12 | # 13 | # /* See http://www.boost.org for most recent version. */ 14 | # 15 | # ifndef BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP 16 | # define BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP 17 | # 18 | # include 19 | # include 20 | # 21 | # /* BOOST_PP_IDENTITY */ 22 | # 23 | # define BOOST_PP_IDENTITY(item) item BOOST_PP_EMPTY 24 | # 25 | # define BOOST_PP_IDENTITY_N(item,n) item BOOST_PP_TUPLE_EAT_N(n) 26 | # 27 | # endif 28 | -------------------------------------------------------------------------------- /external/boost/preprocessor/identity.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_IDENTITY_HPP 13 | # define BOOST_PREPROCESSOR_IDENTITY_HPP 14 | # 15 | # include 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /external/boost/preprocessor/inc.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_INC_HPP 13 | # define BOOST_PREPROCESSOR_INC_HPP 14 | # 15 | # include 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /external/boost/preprocessor/iterate.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_ITERATE_HPP 13 | # define BOOST_PREPROCESSOR_ITERATE_HPP 14 | # 15 | # include 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /external/boost/preprocessor/iteration/detail/self.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # if !defined(BOOST_PP_INDIRECT_SELF) 13 | # error BOOST_PP_ERROR: no indirect file to include 14 | # endif 15 | # 16 | # define BOOST_PP_IS_SELFISH 1 17 | # 18 | # include BOOST_PP_INDIRECT_SELF 19 | # 20 | # undef BOOST_PP_IS_SELFISH 21 | # undef BOOST_PP_INDIRECT_SELF 22 | -------------------------------------------------------------------------------- /external/boost/preprocessor/iteration/self.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_ITERATION_SELF_HPP 13 | # define BOOST_PREPROCESSOR_ITERATION_SELF_HPP 14 | # 15 | # /* BOOST_PP_INCLUDE_SELF */ 16 | # 17 | # define BOOST_PP_INCLUDE_SELF() 18 | # 19 | # endif 20 | -------------------------------------------------------------------------------- /external/boost/preprocessor/punctuation/comma.hpp: -------------------------------------------------------------------------------- 1 | # /* Copyright (C) 2001 2 | # * Housemarque Oy 3 | # * http://www.housemarque.com 4 | # * 5 | # * Distributed under the Boost Software License, Version 1.0. (See 6 | # * accompanying file LICENSE_1_0.txt or copy at 7 | # * http://www.boost.org/LICENSE_1_0.txt) 8 | # */ 9 | # 10 | # /* Revised by Paul Mensonides (2002) */ 11 | # 12 | # /* See http://www.boost.org for most recent version. */ 13 | # 14 | # ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP 15 | # define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP 16 | # 17 | # /* BOOST_PP_COMMA */ 18 | # 19 | # define BOOST_PP_COMMA() , 20 | # 21 | # endif 22 | -------------------------------------------------------------------------------- /external/boost/preprocessor/repeat.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_REPEAT_HPP 13 | # define BOOST_PREPROCESSOR_REPEAT_HPP 14 | # 15 | # include 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /external/boost/range/detail/misc_concept.hpp: -------------------------------------------------------------------------------- 1 | // Boost.Range library concept checks 2 | // 3 | // Copyright Neil Groves 2009. Use, modification and distribution 4 | // are subject to the Boost Software License, Version 1.0. (See 5 | // accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | #ifndef BOOST_RANGE_DETAIL_MISC_CONCEPT_HPP_INCLUDED 9 | #define BOOST_RANGE_DETAIL_MISC_CONCEPT_HPP_INCLUDED 10 | 11 | #include 12 | 13 | namespace boost 14 | { 15 | namespace range_detail 16 | { 17 | template 18 | class SameTypeConcept 19 | { 20 | public: 21 | BOOST_CONCEPT_USAGE(SameTypeConcept) 22 | { 23 | same_type(a,b); 24 | } 25 | private: 26 | template void same_type(T,T) {} 27 | T1 a; 28 | T2 b; 29 | }; 30 | } 31 | } 32 | 33 | #endif // include guard 34 | -------------------------------------------------------------------------------- /external/boost/range/empty.hpp: -------------------------------------------------------------------------------- 1 | // Boost.Range library 2 | // 3 | // Copyright Thorsten Ottosen 2003-2004. Use, modification and 4 | // distribution is subject to the Boost Software License, Version 5 | // 1.0. (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | // For more information, see http://www.boost.org/libs/range/ 9 | // 10 | 11 | #ifndef BOOST_RANGE_EMPTY_HPP 12 | #define BOOST_RANGE_EMPTY_HPP 13 | 14 | #if defined(_MSC_VER) 15 | # pragma once 16 | #endif 17 | 18 | #include 19 | #include 20 | #include 21 | 22 | namespace boost 23 | { 24 | 25 | template< class T > 26 | inline bool empty( const T& r ) 27 | { 28 | return boost::begin( r ) == boost::end( r ); 29 | } 30 | 31 | } // namespace 'boost' 32 | 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /external/boost/range/functions.hpp: -------------------------------------------------------------------------------- 1 | // Boost.Range library 2 | // 3 | // Copyright Thorsten Ottosen 2003-2006. Use, modification and 4 | // distribution is subject to the Boost Software License, Version 5 | // 1.0. (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | // For more information, see http://www.boost.org/libs/range/ 9 | // 10 | 11 | #ifndef BOOST_RANGE_FUNCTIONS_HPP 12 | #define BOOST_RANGE_FUNCTIONS_HPP 13 | 14 | #if defined(_MSC_VER) 15 | # pragma once 16 | #endif 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | 26 | #endif 27 | 28 | -------------------------------------------------------------------------------- /external/boost/range/value_type.hpp: -------------------------------------------------------------------------------- 1 | // Boost.Range library 2 | // 3 | // Copyright Thorsten Ottosen 2003-2004. Use, modification and 4 | // distribution is subject to the Boost Software License, Version 5 | // 1.0. (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | // 8 | // For more information, see http://www.boost.org/libs/range/ 9 | // 10 | 11 | #ifndef BOOST_RANGE_VALUE_TYPE_HPP 12 | #define BOOST_RANGE_VALUE_TYPE_HPP 13 | 14 | #if defined(_MSC_VER) 15 | # pragma once 16 | #endif 17 | 18 | #include 19 | #include 20 | 21 | #include 22 | 23 | namespace boost 24 | { 25 | template< class T > 26 | struct range_value : iterator_value< typename range_iterator::type > 27 | { }; 28 | } 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /external/boost/ref.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014 Glen Fernandes 3 | * 4 | * Distributed under the Boost Software License, Version 1.0. (See 5 | * accompanying file LICENSE_1_0.txt or copy at 6 | * http://www.boost.org/LICENSE_1_0.txt) 7 | */ 8 | 9 | #ifndef BOOST_REF_HPP 10 | #define BOOST_REF_HPP 11 | 12 | // The header file at this path is deprecated; 13 | // use boost/core/ref.hpp instead. 14 | 15 | #include 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /external/boost/shared_ptr.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_SHARED_PTR_HPP_INCLUDED 2 | #define BOOST_SHARED_PTR_HPP_INCLUDED 3 | 4 | // 5 | // shared_ptr.hpp 6 | // 7 | // (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. 8 | // Copyright (c) 2001-2008 Peter Dimov 9 | // 10 | // Distributed under the Boost Software License, Version 1.0. (See 11 | // accompanying file LICENSE_1_0.txt or copy at 12 | // http://www.boost.org/LICENSE_1_0.txt) 13 | // 14 | // See http://www.boost.org/libs/smart_ptr/ for documentation. 15 | // 16 | 17 | #include 18 | 19 | #endif // #ifndef BOOST_SHARED_PTR_HPP_INCLUDED 20 | -------------------------------------------------------------------------------- /external/boost/type.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright David Abrahams 2001. 2 | // Distributed under the Boost Software License, Version 1.0. (See 3 | // accompanying file LICENSE_1_0.txt or copy at 4 | // http://www.boost.org/LICENSE_1_0.txt) 5 | 6 | #ifndef BOOST_TYPE_DWA20010120_HPP 7 | # define BOOST_TYPE_DWA20010120_HPP 8 | 9 | namespace boost { 10 | 11 | // Just a simple "type envelope". Useful in various contexts, mostly to work 12 | // around some MSVC deficiencies. 13 | template 14 | struct type {}; 15 | 16 | } 17 | 18 | #endif // BOOST_TYPE_DWA20010120_HPP 19 | -------------------------------------------------------------------------------- /external/boost/type_traits/add_lvalue_reference.hpp: -------------------------------------------------------------------------------- 1 | // Copyright 2010 John Maddock 2 | 3 | // Distributed under the Boost Software License, Version 1.0. 4 | // See http://www.boost.org/LICENSE_1_0.txt 5 | 6 | #ifndef BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP 7 | #define BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP 8 | 9 | #include 10 | 11 | namespace boost{ 12 | 13 | template struct add_lvalue_reference 14 | { 15 | typedef typename boost::add_reference::type type; 16 | }; 17 | 18 | #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES 19 | template struct add_lvalue_reference 20 | { 21 | typedef T& type; 22 | }; 23 | #endif 24 | 25 | #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) 26 | 27 | template using add_lvalue_reference_t = typename add_lvalue_reference::type; 28 | 29 | #endif 30 | 31 | } 32 | 33 | #endif // BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP 34 | -------------------------------------------------------------------------------- /external/boost/type_traits/conditional.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright John Maddock 2010. 2 | // Use, modification and distribution are subject to the Boost Software License, 3 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 4 | // http://www.boost.org/LICENSE_1_0.txt). 5 | // 6 | // See http://www.boost.org/libs/type_traits for most recent version including documentation. 7 | 8 | 9 | #ifndef BOOST_TT_CONDITIONAL_HPP_INCLUDED 10 | #define BOOST_TT_CONDITIONAL_HPP_INCLUDED 11 | 12 | #include 13 | 14 | namespace boost { 15 | 16 | template struct conditional { typedef T type; }; 17 | template struct conditional { typedef U type; }; 18 | 19 | #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) 20 | 21 | template using conditional_t = typename conditional::type; 22 | 23 | #endif 24 | 25 | } // namespace boost 26 | 27 | 28 | #endif // BOOST_TT_CONDITIONAL_HPP_INCLUDED 29 | -------------------------------------------------------------------------------- /external/boost/type_traits/conversion_traits.hpp: -------------------------------------------------------------------------------- 1 | 2 | // Copyright 2000 John Maddock (john@johnmaddock.co.uk) 3 | // Copyright 2000 Jeremy Siek (jsiek@lsc.nd.edu) 4 | // Copyright 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) 5 | // 6 | // Use, modification and distribution are subject to the Boost Software License, 7 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 8 | // http://www.boost.org/LICENSE_1_0.txt). 9 | // 10 | // See http://www.boost.org/libs/type_traits for most recent version including documentation. 11 | 12 | #ifndef BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED 13 | #define BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED 14 | 15 | #include 16 | 17 | #endif // BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED 18 | -------------------------------------------------------------------------------- /external/boost/type_traits/detail/yes_no_type.hpp: -------------------------------------------------------------------------------- 1 | 2 | // (C) Copyright John Maddock and Steve Cleary 2000. 3 | // Use, modification and distribution are subject to the Boost Software License, 4 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 5 | // http://www.boost.org/LICENSE_1_0.txt). 6 | // 7 | // See http://www.boost.org/libs/type_traits for most recent version including documentation. 8 | // 9 | // macros and helpers for working with integral-constant-expressions. 10 | 11 | #ifndef BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED 12 | #define BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED 13 | 14 | namespace boost { 15 | namespace type_traits { 16 | 17 | typedef char yes_type; 18 | struct no_type 19 | { 20 | char padding[8]; 21 | }; 22 | 23 | } // namespace type_traits 24 | } // namespace boost 25 | 26 | #endif // BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED 27 | -------------------------------------------------------------------------------- /external/boost/type_traits/is_arithmetic.hpp: -------------------------------------------------------------------------------- 1 | 2 | // (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. 3 | // Use, modification and distribution are subject to the Boost Software License, 4 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 5 | // http://www.boost.org/LICENSE_1_0.txt). 6 | // 7 | // See http://www.boost.org/libs/type_traits for most recent version including documentation. 8 | 9 | #ifndef BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED 10 | #define BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED 11 | 12 | #include 13 | #include 14 | 15 | namespace boost { 16 | 17 | template 18 | struct is_arithmetic : public integral_constant::value || is_floating_point::value> {}; 19 | 20 | } // namespace boost 21 | 22 | #endif // BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED 23 | -------------------------------------------------------------------------------- /external/boost/type_traits/is_function.hpp: -------------------------------------------------------------------------------- 1 | 2 | // Copyright 2000 John Maddock (john@johnmaddock.co.uk) 3 | // Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com) 4 | // 5 | // Use, modification and distribution are subject to the Boost Software License, 6 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 7 | // http://www.boost.org/LICENSE_1_0.txt). 8 | // 9 | // See http://www.boost.org/libs/type_traits for most recent version including documentation. 10 | 11 | #ifndef BOOST_TT_IS_FUNCTION_HPP_INCLUDED 12 | #define BOOST_TT_IS_FUNCTION_HPP_INCLUDED 13 | 14 | #include 15 | #include 16 | 17 | #ifdef BOOST_TT_HAS_ASCCURATE_IS_FUNCTION 18 | 19 | #include 20 | 21 | #else 22 | 23 | #include 24 | 25 | #endif 26 | 27 | #endif // BOOST_TT_IS_FUNCTION_HPP_INCLUDED 28 | -------------------------------------------------------------------------------- /external/boost/type_traits/is_member_function_pointer.hpp: -------------------------------------------------------------------------------- 1 | 2 | // (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard 3 | // Hinnant & John Maddock 2000. 4 | // Use, modification and distribution are subject to the Boost Software License, 5 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt). 7 | // 8 | // See http://www.boost.org/libs/type_traits for most recent version including documentation. 9 | 10 | 11 | #ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED 12 | #define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED 13 | 14 | #include 15 | 16 | #ifdef BOOST_TT_HAS_ASCCURATE_IS_FUNCTION 17 | 18 | #include 19 | 20 | #else 21 | 22 | #include 23 | 24 | #endif 25 | 26 | #endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED 27 | -------------------------------------------------------------------------------- /external/boost/type_traits/remove_bounds.hpp: -------------------------------------------------------------------------------- 1 | 2 | // (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. 3 | // Use, modification and distribution are subject to the Boost Software License, 4 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 5 | // http://www.boost.org/LICENSE_1_0.txt). 6 | // 7 | // See http://www.boost.org/libs/type_traits for most recent version including documentation. 8 | 9 | #ifndef BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED 10 | #define BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED 11 | 12 | #include 13 | 14 | namespace boost 15 | { 16 | 17 | template struct remove_bounds : public remove_extent {}; 18 | 19 | #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) 20 | 21 | template using remove_bounds_t = typename remove_bounds::type; 22 | 23 | #endif 24 | 25 | 26 | } // namespace boost 27 | 28 | #endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED 29 | -------------------------------------------------------------------------------- /external/boost/type_traits/type_identity.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED 2 | #define BOOST_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED 3 | 4 | // 5 | // Copyright 2015 Peter Dimov 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. 8 | // See accompanying file LICENSE_1_0.txt or copy at 9 | // http://www.boost.org/LICENSE_1_0.txt 10 | // 11 | 12 | #include 13 | 14 | namespace boost 15 | { 16 | 17 | template struct type_identity 18 | { 19 | typedef T type; 20 | }; 21 | 22 | #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) 23 | 24 | template using type_identity_t = typename type_identity::type; 25 | 26 | #endif 27 | 28 | 29 | } // namespace boost 30 | 31 | #endif // #ifndef BOOST_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED 32 | -------------------------------------------------------------------------------- /external/boost/utility.hpp: -------------------------------------------------------------------------------- 1 | // Boost utility.hpp header file -------------------------------------------// 2 | 3 | // Copyright 1999-2003 Aleksey Gurtovoy. Use, modification, and distribution are 4 | // subject to the Boost Software License, Version 1.0. (See accompanying file 5 | // LICENSE_1_0.txt or a copy at .) 6 | 7 | // See for the library's home page. 8 | 9 | #ifndef BOOST_UTILITY_HPP 10 | #define BOOST_UTILITY_HPP 11 | 12 | // Use of this header is discouraged and it will be deprecated. 13 | // Please include one or more of the headers below instead. 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | #include 20 | #include 21 | #include 22 | #include 23 | 24 | #endif // BOOST_UTILITY_HPP 25 | -------------------------------------------------------------------------------- /external/boost/utility/declval.hpp: -------------------------------------------------------------------------------- 1 | // declval.hpp -------------------------------------------------------------// 2 | 3 | // Copyright 2010 Vicente J. Botet Escriba 4 | 5 | // Distributed under the Boost Software License, Version 1.0. 6 | // See http://www.boost.org/LICENSE_1_0.txt 7 | 8 | #ifndef BOOST_UTILITY_DECLVAL_HPP 9 | #define BOOST_UTILITY_DECLVAL_HPP 10 | 11 | #include 12 | 13 | #endif // BOOST_UTILITY_DECLVAL_HPP 14 | -------------------------------------------------------------------------------- /external/boost/utility/enable_if.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014 Glen Fernandes 3 | * 4 | * Distributed under the Boost Software License, Version 1.0. (See 5 | * accompanying file LICENSE_1_0.txt or copy at 6 | * http://www.boost.org/LICENSE_1_0.txt) 7 | */ 8 | 9 | #ifndef BOOST_UTILITY_ENABLE_IF_HPP 10 | #define BOOST_UTILITY_ENABLE_IF_HPP 11 | 12 | // The header file at this path is deprecated; 13 | // use boost/core/enable_if.hpp instead. 14 | 15 | #include 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /external/boost/utility/swap.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014 Glen Fernandes 3 | * 4 | * Distributed under the Boost Software License, Version 1.0. (See 5 | * accompanying file LICENSE_1_0.txt or copy at 6 | * http://www.boost.org/LICENSE_1_0.txt) 7 | */ 8 | 9 | #ifndef BOOST_UTILITY_SWAP_HPP 10 | #define BOOST_UTILITY_SWAP_HPP 11 | 12 | // The header file at this path is deprecated; 13 | // use boost/core/swap.hpp instead. 14 | 15 | #include 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /external/boost/visit_each.hpp: -------------------------------------------------------------------------------- 1 | // Boost.Signals library 2 | 3 | // Copyright Douglas Gregor 2001-2003. Use, modification and 4 | // distribution is subject to the Boost Software License, Version 5 | // 1.0. (See accompanying file LICENSE_1_0.txt or copy at 6 | // http://www.boost.org/LICENSE_1_0.txt) 7 | 8 | // For more information, see http://www.boost.org/libs/signals 9 | 10 | #ifndef BOOST_VISIT_EACH_HPP 11 | #define BOOST_VISIT_EACH_HPP 12 | 13 | namespace boost { 14 | template 15 | inline void visit_each(Visitor& visitor, const T& t, long) 16 | { 17 | visitor(t); 18 | } 19 | 20 | template 21 | inline void visit_each(Visitor& visitor, const T& t) 22 | { 23 | visit_each(visitor, t, 0); 24 | } 25 | } 26 | 27 | #endif // BOOST_VISIT_EACH_HPP 28 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/AcroFormExport.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | //system 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | //project 10 | #include "Pdfix.h" 11 | 12 | using namespace PDFixSDK; 13 | using namespace boost::property_tree; 14 | 15 | namespace AcroFormExport { 16 | void ProcessWidget(PdfDoc* doc, PdsDictionary* widget_obj, ptree& json); 17 | void ProcessFormField(PdfDoc* doc, PdfFormField* field, ptree& json, bool widgets); 18 | void Run( 19 | const std::wstring& open_path, // source PDF document 20 | std::ostream& output, // output JSON document 21 | bool widgets // include widget annots 22 | ); 23 | } 24 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/AcroFormImport.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | //system 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | //project 10 | #include "Utils.h" 11 | #include "Pdfix.h" 12 | 13 | using namespace PDFixSDK; 14 | using namespace boost::property_tree; 15 | 16 | namespace AcroFormImport { 17 | void Run( 18 | const std::wstring& open_path, // source PDF document 19 | const std::wstring& save_path, // destination PDF document 20 | const std::wstring& json_path // path to JSON to import 21 | ); 22 | } 23 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/AddComment.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | // Adds a new text annotation. 6 | void AddComment( 7 | const std::wstring& open_file, // source PDF document 8 | const std::wstring& save_file // directory where to save PDF docuemnt 9 | ); 10 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/AddTags.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | void AddTags( 6 | const std::wstring& open_path, // source PDF document 7 | const std::wstring& save_path, // output PDF document 8 | const std::wstring& config_path, // configuration file 9 | const bool preflight // preflight document template before processing 10 | ); 11 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/ApplyRedaction.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | void ApplyRedaction( 6 | const std::wstring& open_path, // source PDF document 7 | const std::wstring& save_path // output PDF doucment 8 | ); 9 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/CertDigitalSignature.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #ifdef _WIN32 5 | #include 6 | #include 7 | #include 8 | #include 9 | #endif 10 | 11 | 12 | #ifdef WIN32 13 | static UINT_PTR CALLBACK CertHookCallback(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam); 14 | static BOOL CALLBACK CertFilterCallback(PCCERT_CONTEXT pCertContext,DWORD lCustData, DWORD dwFlags, DWORD dwDisplayWell); 15 | #endif 16 | 17 | // Applies digital signature. 18 | void CertDigitalSignature( 19 | const std::wstring& email, // authorization email 20 | const std::wstring& license_key, // authorization license key 21 | const std::wstring& open_path, // source PDF document 22 | const std::wstring& save_path, // signed PDF document 23 | const std::wstring& time_stamp_server // time stamp server 24 | ); 25 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/CommandRemoveEmptyTags.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | void CommandDeleteEmptyTags( 6 | const std::wstring& open_path, // source PDF document 7 | const std::wstring& save_path // output PDF document 8 | ); 9 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/ConvertRGBToCMYK.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | void ConvertRGBToCMYK( 6 | const std::wstring& open_path, // source PDF document 7 | const std::wstring& save_path // output PDF document 8 | ); 9 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/ConvertTaggedPdf.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "Pdfix.h" 5 | #include "TaggedPdf.h" 6 | 7 | using namespace PDFixSDK; 8 | 9 | void ConvertTaggedPdf( 10 | const std::wstring& open_path, // source PDF document 11 | const std::wstring& save_path, // output HTML file 12 | const std::wstring& config_path, // configuration file 13 | PdfTaggedParams& params // conversion parameters 14 | ); 15 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/ConvertToHtml.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "Pdfix.h" 5 | 6 | using namespace PDFixSDK; 7 | 8 | namespace ConvertToHtml { 9 | void Run(const std::wstring& open_path, // source PDF document 10 | const std::wstring& password, // open password 11 | const std::wstring& save_path, // output HTML file 12 | const std::wstring& config_path, // configuration file 13 | PdfHtmlParams& html_params, // conversion parameters 14 | const bool preflight, // preflight document template before processing 15 | const std::wstring& open_html_path // file with html to append 16 | ); 17 | } 18 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/ConvertToHtmlEx.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "Pdfix.h" 5 | 6 | using namespace PDFixSDK; 7 | 8 | namespace ConvertToHtmlEx { 9 | 10 | void Run( 11 | const std::wstring& open_path, // source PDF document 12 | const std::wstring& password, // open password 13 | const std::wstring& save_path, // output HTML file 14 | const std::wstring& config_path, // configuration 15 | PdfHtmlParams& html_params, // conversion parameters 16 | const std::wstring& param1, // param 1 17 | const std::wstring& param2 // param 2 18 | ); 19 | } -------------------------------------------------------------------------------- /include/pdfixsdksamples/ConvertToJson.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "Pdfix.h" 5 | 6 | using namespace PDFixSDK; 7 | 8 | namespace ConvertToJson { 9 | void Run(const std::wstring& open_path, // source PDF document 10 | const std::wstring& password, // open password 11 | std::ostream& output, // output JSON file 12 | const std::wstring& config_path, // configuration file 13 | PdfJsonParams& json_params, // conversion parameters 14 | const bool preflight // preflight document template before processing 15 | ); 16 | } 17 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/ConvertToTiff.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "Pdfix.h" 5 | 6 | using namespace PDFixSDK; 7 | 8 | namespace ConvertToHTiff { 9 | void Run( 10 | const std::wstring& open_path, // source PDF document 11 | const std::wstring& password, // open password 12 | const std::wstring& save_path, // output TIFF file 13 | PdfTiffParams& tiff_params // conversion parameters 14 | ); 15 | } -------------------------------------------------------------------------------- /include/pdfixsdksamples/CopyAnnots.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace CopyAnnots { 6 | 7 | void CopyAnnots( 8 | const std::wstring& src_path, // source PDF document 9 | const std::wstring& dest_path, // destination PDF doucment 10 | const std::wstring& save_path, // output PDF doucment 11 | int src_page, 12 | int dest_page 13 | ); 14 | 15 | void CopyCircleAnnotsAsSquares( 16 | const std::wstring& src_path, // source PDF document 17 | const std::wstring& dest_path, // destination PDF doucment 18 | const std::wstring& save_path, // output PDF doucment 19 | int src_page, 20 | int dest_page 21 | ); 22 | } 23 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/CreateNewDocument.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | // Creates new document 6 | void CreateNewDocument( 7 | const std::wstring& save_file // directory where to save PDF docuemnt 8 | ); 9 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/CreateNewDocuments.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | // Creates new documents 6 | void CreateNewDocuments( 7 | const std::wstring& save_path, // directory where to save PDF docuemnts 8 | size_t document_count, // count of documents to be created in the directory 9 | size_t thread_count // maximal number of threads to be used 10 | ); 11 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/CreatePage.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | // Creates new document 6 | void CreatePage( 7 | const std::wstring& open_file, // source PDF document 8 | const std::wstring& save_file, // directory where to save PDF docuemnt 9 | int afterPageNumber // index of page after page is created 10 | ); 11 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/CreateRedactionMark.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "Pdfix.h" 5 | 6 | using namespace PDFixSDK; 7 | 8 | // Creates redaction mark and saves it to the new document 9 | void CreateRedactionMark( 10 | const std::wstring& open_file, // source PDF document 11 | const std::wstring& save_file, // file path where to save PDF docuemnt 12 | int page_num, // index of page where to create redaction mark 13 | PdfRect& redaction_rect // redaction mark rectangle 14 | ); 15 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/DeletePages.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | // Delete pages from document. 6 | void DeletePages( 7 | const std::wstring& open_file, // source PDF document 8 | const std::wstring& save_file, // file where to save PDF docuemnt 9 | int from, 10 | int to 11 | ); 12 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/DigitalSignature.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | void DigitalSignature( 6 | const std::wstring& open_path, // source PDF document 7 | const std::wstring& save_path, // signed PDF document 8 | const std::wstring& pfx_path, // pfx file 9 | const std::wstring& pfx_password // pfx password 10 | ); 11 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/DocumentMetadata.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace DocumentMetadata { 6 | void Run( 7 | const std::wstring& open_path, // source PDF document 8 | const std::wstring& save_path, // output PDF doucment 9 | const std::wstring& xml_path // metadata file path 10 | ); 11 | } 12 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/EditPageObjectMCID.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | void EditPageObjectMCID(const std::wstring& open_path, // source PDF document 6 | const std::wstring& save_path // output PDF document 7 | ); 8 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/EmbedFonts.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace EmbedFonts { 6 | void Run( 7 | const std::wstring& open_path, // source PDF document 8 | const std::wstring& save_path // output PDF doucment 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/ExportFormFieldValues.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | void ExportFormFieldValues( 6 | const std::wstring& open_path, // source PDF document 7 | const std::wstring& save_path // output PDF document 8 | ); 9 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/ExtractHighlightedText.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include "Pdfix.h" 6 | 7 | using namespace PDFixSDK; 8 | 9 | // Extracts texts from the document and saves them to text format. 10 | namespace ExtractHighlightedText { 11 | void Run( 12 | const std::wstring& open_path, // source PDF document 13 | std::ostream& output, // output stream 14 | const std::wstring& config_path // configuration file 15 | ); 16 | } 17 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/ExtractImages.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "Pdfix.h" 5 | 6 | using namespace PDFixSDK; 7 | 8 | // SaveImage processes each element recursively. If the element is an image, it saves it to save_path. 9 | void SaveImage(PdeElement* element, 10 | const std::wstring& save_path, 11 | PdfImageParams& img_params, 12 | PdfPage* page, 13 | PdfPageView* page_view, 14 | int& image_index); 15 | 16 | // Extracts all images from the document and saves them to save_path. 17 | void ExtractImages( 18 | const std::wstring& open_path, // source PDF document 19 | const std::wstring& save_path, // directory where to extract images 20 | int render_width, // with of the rendered page in pixels (image ) 21 | PdfImageParams& img_params // image parameters 22 | ); 23 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/ExtractTables.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include "Pdfix.h" 6 | 7 | using namespace PDFixSDK; 8 | 9 | // Example how to extract tables from a PDF document and save them to csv format. 10 | // GetText processes each element recursively. If the element is a text, saves it to the output stream. 11 | void GetText(PdeText* element, std::ofstream& ofs, bool eof); 12 | 13 | // SaveTable processes each element recursively. 14 | // If the element is a table, it saves it to save_path as csv. 15 | void SaveTable(PdeElement* element, std::wstring save_path, int& table_index); 16 | 17 | // Extracts all tables from the document and saves them to CSV format. 18 | void ExtractTables( 19 | const std::wstring& open_path, // source PDF document 20 | const std::wstring& save_path // directory where to extract images 21 | ); 22 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/ExtractText.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | #include "Pdfix.h" 7 | 8 | using namespace PDFixSDK; 9 | 10 | namespace ExtractText { 11 | void GetPageText(PdfPage* page, std::stringstream &ss); 12 | void Run( 13 | const std::wstring& open_path, // source PDF document 14 | std::ostream& output, // output stream 15 | const std::wstring& config_path, // configuration file 16 | const int page_number 17 | ); 18 | } 19 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/FillForm.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // system 4 | #include 5 | 6 | // Adds a new text annotation. 7 | void FillForm( 8 | const std::wstring& open_file, // source PDF document 9 | const std::wstring& save_file, // directory where to save PDF docuemnt 10 | const std::wstring& json_file, // json with field values 11 | bool flatten // flatten for fields 12 | ); 13 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/FlattenAnnots.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "Pdfix.h" 5 | 6 | using namespace PDFixSDK; 7 | 8 | void FlattenAnnots( 9 | const std::wstring& open_path, // source PDF document 10 | const std::wstring& save_path // output PDF doucment 11 | ); 12 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/GetWhitespace.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace GetWhitespace { 6 | void Run( 7 | const std::wstring& open_path // source PDF document 8 | ); 9 | } -------------------------------------------------------------------------------- /include/pdfixsdksamples/ImportFormData.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace ImportFormData { 6 | void Run( 7 | const std::wstring& open_path, // source PDF document 8 | const std::wstring& password, // open password 9 | const std::wstring& save_path, // output PDF document 10 | const std::wstring& json_path, // json file to import 11 | bool flatten // flatten annotations 12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/Imposition.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Imposition { 6 | void Run(const std::wstring& open_path, // source PDF document 7 | const std::wstring& save_path // output PDF doucment 8 | ); 9 | } 10 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/Initialization.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | void Initialization(); 4 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/InsertPages.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | // Insert pages from one document to another. 6 | void InsertPages( 7 | const std::wstring& source_doc_file, // source PDF document 8 | const std::wstring& dest_doc_file, // destination PDF document 9 | const std::wstring& save_file, // file where to save PDF docuemnt 10 | int where, // index where to insert pages 11 | int from, // from page 12 | int to // to oage 13 | ); 14 | 15 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/LicenseReset.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace LicenseReset { 4 | // write license status into an output stream 5 | void Run(); 6 | } 7 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/LicenseStatus.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace LicenseStatus { 6 | // write license status into an output stream 7 | void Run(std::ostream& os); 8 | } 9 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/MakeAccessible.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | void MakeAccessible( 7 | const std::wstring& open_path, // source PDF document 8 | const std::wstring& save_path, // output PDF/UA document 9 | const std::wstring& command_path, // configuration file 10 | const std::wstring& language = 11 | L"", // document language to set and overide the command configuration 12 | const std::wstring& title = L"" // document title to set and overide the command configuration 13 | ); 14 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/MovePage.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | // Move page in document. 6 | void MovePage( 7 | const std::wstring& open_file, // source PDF document 8 | const std::wstring& save_file, // file where to save PDF docuemnt 9 | int to, 10 | int from 11 | ); 12 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/NamedDestsToJson.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // system 4 | #include 5 | #include 6 | #include 7 | #include 8 | // project 9 | #include "Pdfix.h" 10 | 11 | using namespace PDFixSDK; 12 | using namespace boost::property_tree; 13 | 14 | namespace NamedDestsToJson { 15 | bool ProcessViewDestination(PdfViewDestination* view_dest, PdfDoc* doc, ptree& json); 16 | void ProcessNamedDest(PdsObject* name, PdsObject* value, PdfDoc* doc, ptree& json); 17 | void ProcessNameTreeObject(PdsObject* obj, PdfDoc* doc, ptree& json); 18 | // Extract all documents bookmars into json. 19 | void Run( 20 | const std::wstring& open_path, // source PDF document 21 | const std::wstring& password, // open document password 22 | std::ostream& output // output stream 23 | ); 24 | } 25 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/OcrPageImagesWithTesseract.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | #include "Pdfix.h" 7 | 8 | using namespace PDFixSDK; 9 | 10 | void parse_page_element(PdeElement* elem, std::vector& image_bbox_arr); 11 | void OcrPageImagesWithTesseract( 12 | const std::wstring& open_path, // source PDF document 13 | const std::wstring& save_path, // searchable PDF document 14 | const std::wstring& data_path, // path to OCR data 15 | const std::wstring& language, // default OCR language 16 | const float zoom, // zoom to control page rendering quality 17 | const PdfRotate rotate // page rotation to be applied 18 | ); 19 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/OcrWithTesseract.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include "Pdfix.h" 6 | 7 | using namespace PDFixSDK; 8 | 9 | void OcrWithTesseract( 10 | const std::wstring& open_path, // source PDF document 11 | const std::wstring& save_path, // searchable PDF document 12 | const std::wstring& data_path, // path to OCR data 13 | const std::wstring& language, // default OCR language 14 | const float zoom, // page zoom level for rendering to control image processing quality 15 | const PdfRotate rotate // page rotation 16 | ); 17 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/OpedDocumentFromStream.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | // Iterates all documents bookmars. 6 | namespace OpedDocumentFromStream { 7 | void Run( 8 | const std::wstring& open_path // source PDF document 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/ParsePageContent.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include "Pdfix.h" 6 | 7 | using namespace PDFixSDK; 8 | 9 | namespace ParsePageContent { 10 | // ProcessObject gets the value of the object. 11 | void ProcessPageObject(PdsPageObject* obj, std::ostream& ss, std::string indent); 12 | 13 | // Iterates all documents bookmars. 14 | void Run( 15 | const std::wstring& open_path, // source PDF document 16 | std::ostream& output, // output document 17 | int page_num 18 | ); 19 | } 20 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/ParsePdsObjects.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | #include "Pdfix.h" 7 | 8 | using namespace PDFixSDK; 9 | 10 | namespace ParsePdsObjects { 11 | 12 | // ProcessObject gets the value of the object. 13 | void ProcessObject(PdsObject* obj, std::ostream& ss, std::string indent, std::map& mapped); 14 | 15 | // Iterates all documents bookmars. 16 | void Run( 17 | const std::wstring& open_path, // source PDF document 18 | const std::wstring& password, // source PDF document 19 | std::ostream& output // output document 20 | ); 21 | } 22 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/PdfixEngine.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "Pdfix.h" 5 | using namespace PDFixSDK; 6 | 7 | 8 | class PdfixEngine { 9 | private: 10 | static Pdfix* _pdfix; 11 | 12 | public: 13 | static Pdfix* Init(const std::string &path = ""); 14 | static void Terminate(); 15 | static Pdfix* Get() { return _pdfix;} 16 | }; 17 | 18 | // Pdfix unique_ptr class can be used as a pdfix singleton initialization 19 | // example: PdfixPtr pdfix(PdfixEngine::Init(), pdfix_deleter); 20 | static auto pdfix_deleter = [](Pdfix* pdfix) { pdfix->Destroy(); }; 21 | typedef std::unique_ptr PdfixPtr; 22 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/PreflightDocTemplate.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include "Pdfix.h" 6 | 7 | using namespace PDFixSDK; 8 | 9 | namespace PreflightDocTemplate { 10 | void Run( 11 | const std::wstring& open_path, // source PDF document 12 | std::ostream &output, // output stream for generated config 13 | PsDataFormat format // output format 14 | ); 15 | } 16 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/PrintPage.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | void PrintPage( 6 | const std::wstring& open_path // source PDF document 7 | ); 8 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/ProcessControl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace ProcessControl { 6 | 7 | void Run( 8 | const std::wstring& open_path // source PDF document 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/ReadOCGLayers.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include "Pdfix.h" 6 | 7 | using namespace PDFixSDK; 8 | 9 | namespace ReadOCGLayers { 10 | std::map ReadLayerNames(PdsDictionary* root_obj); 11 | void Run( 12 | const std::wstring& open_file // source PDF document 13 | ); 14 | } //namespace ReadOCGLayers 15 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/RegexSearch.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | // Finds all occurences of the regex_pattern at the first page. 6 | void RegexSearch( 7 | const std::wstring& open_path, // source PDF document 8 | const std::wstring& regex_pattern // regex pattern you want to search 9 | ); 10 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/RegexSetPattern.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | // Finds a first occurence of the pattern in an input text. 6 | void RegexSetPattern( 7 | const std::wstring& text // text where to search the pattern 8 | ); 9 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/RegisterEvent.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | // DocDidOpenCallback gets title when the document is opened. 6 | void DocDidOpenCallback(void* data); 7 | // DocWillCallback notifies you when the event happens. 8 | void DocWillCallback(void* data); 9 | // Registers different kinds of events. 10 | void RegisterEvent( 11 | const std::wstring& open_path // source PDF document 12 | ); 13 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/RemoveComments.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | // Removes from first text annot with it's popup and all replies 6 | void RemoveComments( 7 | const std::wstring& open_path, // source PDF document 8 | const std::wstring& save_path // output PDF document 9 | ); 10 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/RemoveTags.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | void RemoveTags( 6 | const std::wstring& open_path, // source PDF document 7 | const std::wstring& save_path // output PDF document 8 | ); 9 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/RenderPage.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "Pdfix.h" 5 | 6 | using namespace PDFixSDK; 7 | 8 | namespace RenderPage { 9 | 10 | void Run( 11 | const std::wstring& open_path, // source PDF document 12 | const std::wstring& password, // open password 13 | const std::wstring& img_path, // output image 14 | PdfImageParams img_params, // output image params 15 | int page_num, // page number 16 | float zoom, // page zoom 17 | PdfRotate rotate, // page rotation 18 | PdfDevRect clip_rect // clip region 19 | ); 20 | } -------------------------------------------------------------------------------- /include/pdfixsdksamples/RenderPages.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "Pdfix.h" 5 | 6 | using namespace PDFixSDK; 7 | 8 | void RenderPages( 9 | const std::wstring& open_path, // source PDF document 10 | const std::wstring& img_path, // output image 11 | PdfImageParams img_params, // output image params 12 | int page_from, // page from 13 | int page_to, // page to 14 | double zoom, // page zoom 15 | PdfRotate rotate, // page rotation 16 | PdfDevRect clip_rect, // clip region 17 | size_t thread_count // max number of threads 18 | ); 19 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/SearchText.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace SearchText { 6 | void Run( 7 | const std::wstring& open_path, // source PDF document 8 | const std::wstring& save_path, // destynation PDF document 9 | const std::wstring& query, // text to search in pdf file 10 | int page_num = -1 // number of the page where to search, -1 for all pages 11 | ); 12 | } 13 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/SetAnnotationAppearance.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace SetAnnotationAppearance { 6 | 7 | // Adds watermark from img_path and saves the document to save_path. 8 | void Run( 9 | const std::wstring& open_path, // source PDF document 10 | const std::wstring& save_path, // path to save PDF docuemnt 11 | const std::wstring& img_path // image to apply 12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/SetFieldFlags.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | void SetFieldFlags( 6 | const std::wstring& open_path, // source PDF document 7 | const std::wstring& save_path // output PDF doucment 8 | ); 9 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/SetFormFieldValue.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | void SetFormFieldValue( 6 | const std::wstring& open_path, // source PDF document 7 | const std::wstring& save_path // output PDF document 8 | ); 9 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/StandardLicenseActivate.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace StandardLicenseActivate { 6 | // Adds a new text annotation. 7 | void Run( 8 | const std::wstring& license_key // authorization license key 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/StandardLicenseActivateOffline.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace StandardLicenseActivateOffline { 6 | void Run(const std::wstring& license_path // authorization license key 7 | ); 8 | } 9 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/StandardLicenseCreateOfflineActivationFile.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace StandardLicenseCreateOfflineActivationFile { 6 | void Run(const std::wstring& license_key, // authorization license key 7 | const std::wstring& request_file // activation request path 8 | ); 9 | } // namespace StandardLicenseCreateOfflineActivationFile 10 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/StandardLicenseDeactivate.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace StandardLicenseDeactivate { 4 | // Adds a new text annotation. 5 | void Run(); 6 | } 7 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/StandardLicenseDeactivateOffline.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace StandardLicenseDeactivateOffline { 6 | void Run(const std::wstring& request_file // deactivation request file path 7 | ); 8 | } // namespace StandardLicenseDeactivateOffline 9 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/StandardLicenseUpdate.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace StandardLicenseUpdate { 4 | void Run(); 5 | } 6 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/StandardLicenseUpdateOffline.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace StandardLicenseUpdateOffline { 6 | void Run(const std::wstring& request_file // deactivation request file path 7 | ); 8 | } 9 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/TagAnnotation.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // TagAnnotation.cpp 3 | // Copyright (c) 2018 Pdfix. All Rights Reserved. 4 | //////////////////////////////////////////////////////////////////////////////////////////////////// 5 | 6 | #pragma once 7 | 8 | #include 9 | #include 10 | 11 | namespace TagAnnotation { 12 | 13 | // add annotation on the page and add it to the struct tree 14 | void Run( 15 | const std::wstring& open_path, // source PDF document 16 | const std::wstring& save_path // output PDF document 17 | ); 18 | 19 | } // namespace TagAnnotation 20 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/TagHeadings.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // TagHeadings.cpp 3 | // Copyright (c) 2018 Pdfix. All Rights Reserved. 4 | //////////////////////////////////////////////////////////////////////////////////////////////////// 5 | 6 | #pragma once 7 | 8 | #include 9 | #include 10 | 11 | namespace TagHeadings { 12 | 13 | ////////////////////////////////////////////////////////////////////////////////////////////////// 14 | // TagParagraphAsHeading 15 | // re-tag P tags to Hx tag based on predefined font properties (size, font name) 16 | ////////////////////////////////////////////////////////////////////////////////////////////////// 17 | void Run(const std::wstring& open_path, // source PDF document 18 | const std::wstring& save_path // output PDF document 19 | ); 20 | } // namespace TagHeadings 21 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/TagTableAsFigure.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // TagTableAsFigure.cpp 3 | // Copyright (c) 2018 Pdfix. All Rights Reserved. 4 | //////////////////////////////////////////////////////////////////////////////////////////////////// 5 | 6 | #pragma once 7 | 8 | #include 9 | #include 10 | 11 | namespace TagTableAsFigure { 12 | void Run(const std::wstring& open_path, // source PDF document 13 | const std::wstring& save_path // output PDF document 14 | ); 15 | } // namespace TagTableAsFigure 16 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/TagsEditStructTree.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // TagsEditStructTree.cpp 3 | // Copyright (c) 2018 Pdfix. All Rights Reserved. 4 | //////////////////////////////////////////////////////////////////////////////////////////////////// 5 | #pragma once 6 | 7 | #include 8 | #include 9 | 10 | void TagsEditStructTree(const std::wstring& open_path, // source PDF document 11 | const std::wstring& save_path // output PDF document 12 | ); 13 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/TagsReadStructTree.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // TagsReadStructTree.cpp 3 | // Copyright (c) 2018 Pdfix. All Rights Reserved. 4 | //////////////////////////////////////////////////////////////////////////////////////////////////// 5 | /*! 6 | \page CPP_Samples C++ Samples 7 | - \subpage GetTags_cpp 8 | */ 9 | /*! 10 | \page GetTags_cpp Get Tags Sample 11 | Example how to automatically get tags from the document. 12 | \snippet /GetTags.hpp GetTags_cpp 13 | */ 14 | 15 | #pragma once 16 | 17 | //! [GetTags_cpp] 18 | #include 19 | #include 20 | 21 | void TagsReadStructTree( 22 | const std::wstring& open_path, // source PDF document 23 | std::ostream& output // output stream 24 | ); 25 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/TagsReadingOrder.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // TagsReadingOrder.cpp 3 | // Copyright (c) 2018 Pdfix. All Rights Reserved. 4 | //////////////////////////////////////////////////////////////////////////////////////////////////// 5 | #pragma once 6 | 7 | #include 8 | #include 9 | 10 | namespace TagsReadingOrder { 11 | 12 | void Run(const std::wstring& open_path, // source PDF document 13 | const std::wstring& save_path // output PDF document 14 | ); 15 | } // namespace TagsReadingOrder 16 | -------------------------------------------------------------------------------- /include/pdfixsdksamples/Utils.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "Pdfix.h" 5 | 6 | using namespace PDFixSDK; 7 | 8 | #define kPi 3.1415926535897932384626433832795f 9 | 10 | bool DirectoryExists(const std::wstring& path, bool create); 11 | std::wstring FromUtf8(const std::string& str); 12 | std::string ToUtf8(const std::wstring& str); 13 | std::string PsStreamEncodeBase64(PsStream *stream); 14 | void PdfMatrixTransform(PdfMatrix &m, PdfPoint &p); 15 | void PdfMatrixConcat(PdfMatrix& m, PdfMatrix& m1, bool prepend); 16 | void PdfMatrixRotate(PdfMatrix& m, float radian, bool prepend); 17 | void PdfMatrixScale(PdfMatrix& m, float sx, float sy, bool prepend); 18 | void PdfMatrixTranslate(PdfMatrix& m, float x, float y, bool prepend); 19 | void PdfMatrixInverse(PdfMatrix& m, PdfMatrix& m1); -------------------------------------------------------------------------------- /resources/README.md: -------------------------------------------------------------------------------- 1 | resources required to run samples 2 | 3 | /test.pdf - sample PDF to process 4 | /watermark.png - image used for watermark 5 | /test.pfx - sample digital signature 6 | /tessdata/ - folder for Tesseract OCR data (copy files from Tesserct official web site https://github.com/tesseract-ocr/tesseract/tree/master/tessdata) 7 | -------------------------------------------------------------------------------- /resources/tagged.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pdfix/pdfix_sdk_example_cpp/6ae8ce65e33fc878daca4135be1e39a77d0e1b15/resources/tagged.pdf -------------------------------------------------------------------------------- /resources/tessdata/configs/Makefile.am: -------------------------------------------------------------------------------- 1 | datadir = @datadir@/tessdata/configs 2 | data_DATA = inter makebox box.train unlv ambigs.train lstm.train api_config kannada box.train.stderr quiet logfile digits hocr tsv linebox pdf rebox strokewidth bigram txt 3 | EXTRA_DIST = inter makebox box.train unlv ambigs.train lstm.train api_config kannada box.train.stderr quiet logfile digits hocr tsv linebox pdf rebox strokewidth bigram txt 4 | -------------------------------------------------------------------------------- /resources/tessdata/configs/ambigs.train: -------------------------------------------------------------------------------- 1 | tessedit_ambigs_training 1 2 | load_freq_dawg 0 3 | load_punc_dawg 0 4 | load_system_dawg 0 5 | load_number_dawg 0 6 | ambigs_debug_level 3 7 | load_fixed_length_dawgs 0 8 | -------------------------------------------------------------------------------- /resources/tessdata/configs/api_config: -------------------------------------------------------------------------------- 1 | tessedit_zero_rejection T 2 | -------------------------------------------------------------------------------- /resources/tessdata/configs/bazaar: -------------------------------------------------------------------------------- 1 | load_system_dawg F 2 | load_freq_dawg F 3 | user_words_suffix user-words 4 | user_patterns_suffix user-patterns 5 | -------------------------------------------------------------------------------- /resources/tessdata/configs/bigram: -------------------------------------------------------------------------------- 1 | load_bigram_dawg True 2 | tessedit_enable_bigram_correction True 3 | tessedit_bigram_debug 3 4 | save_raw_choices True 5 | save_alt_choices True 6 | -------------------------------------------------------------------------------- /resources/tessdata/configs/box.train: -------------------------------------------------------------------------------- 1 | disable_character_fragments T 2 | file_type .bl 3 | textord_fast_pitch_test T 4 | tessedit_single_match 0 5 | tessedit_zero_rejection T 6 | tessedit_minimal_rejection F 7 | tessedit_write_rep_codes F 8 | il1_adaption_test 1 9 | edges_children_fix F 10 | edges_childarea 0.65 11 | edges_boxarea 0.9 12 | tessedit_resegment_from_boxes T 13 | tessedit_train_from_boxes T 14 | textord_no_rejects T 15 | -------------------------------------------------------------------------------- /resources/tessdata/configs/box.train.stderr: -------------------------------------------------------------------------------- 1 | file_type .bl 2 | #tessedit_use_nn F 3 | textord_fast_pitch_test T 4 | tessedit_single_match 0 5 | tessedit_zero_rejection T 6 | tessedit_minimal_rejection F 7 | tessedit_write_rep_codes F 8 | il1_adaption_test 1 9 | edges_children_fix F 10 | edges_childarea 0.65 11 | edges_boxarea 0.9 12 | tessedit_resegment_from_boxes T 13 | tessedit_train_from_boxes T 14 | #textord_repeat_extraction F 15 | textord_no_rejects T 16 | -------------------------------------------------------------------------------- /resources/tessdata/configs/digits: -------------------------------------------------------------------------------- 1 | tessedit_char_whitelist 0123456789-. 2 | -------------------------------------------------------------------------------- /resources/tessdata/configs/get.image: -------------------------------------------------------------------------------- 1 | tessedit_write_images T -------------------------------------------------------------------------------- /resources/tessdata/configs/hocr: -------------------------------------------------------------------------------- 1 | tessedit_create_hocr 1 2 | tessedit_pageseg_mode 1 3 | hocr_font_info 0 4 | -------------------------------------------------------------------------------- /resources/tessdata/configs/inter: -------------------------------------------------------------------------------- 1 | interactive_display_mode T 2 | tessedit_display_outwords T 3 | -------------------------------------------------------------------------------- /resources/tessdata/configs/kannada: -------------------------------------------------------------------------------- 1 | textord_skewsmooth_offset 8 2 | textord_skewsmooth_offset2 8 3 | textord_merge_desc 0.5 4 | textord_no_rejects 1 5 | -------------------------------------------------------------------------------- /resources/tessdata/configs/linebox: -------------------------------------------------------------------------------- 1 | tessedit_resegment_from_line_boxes 1 2 | tessedit_make_boxes_from_boxes 1 3 | -------------------------------------------------------------------------------- /resources/tessdata/configs/logfile: -------------------------------------------------------------------------------- 1 | debug_file tesseract.log 2 | -------------------------------------------------------------------------------- /resources/tessdata/configs/lstm.train: -------------------------------------------------------------------------------- 1 | disable_character_fragments T 2 | file_type .bl 3 | textord_fast_pitch_test T 4 | tessedit_single_match 0 5 | tessedit_zero_rejection T 6 | tessedit_minimal_rejection F 7 | tessedit_write_rep_codes F 8 | il1_adaption_test 1 9 | edges_children_fix F 10 | edges_childarea 0.65 11 | edges_boxarea 0.9 12 | tessedit_train_line_recognizer T 13 | textord_no_rejects T 14 | -------------------------------------------------------------------------------- /resources/tessdata/configs/makebox: -------------------------------------------------------------------------------- 1 | tessedit_create_boxfile 1 2 | -------------------------------------------------------------------------------- /resources/tessdata/configs/pdf: -------------------------------------------------------------------------------- 1 | tessedit_create_pdf 1 2 | tessedit_pageseg_mode 1 3 | -------------------------------------------------------------------------------- /resources/tessdata/configs/quiet: -------------------------------------------------------------------------------- 1 | debug_file /dev/null 2 | -------------------------------------------------------------------------------- /resources/tessdata/configs/rebox: -------------------------------------------------------------------------------- 1 | tessedit_resegment_from_boxes 1 2 | tessedit_make_boxes_from_boxes 1 3 | -------------------------------------------------------------------------------- /resources/tessdata/configs/strokewidth: -------------------------------------------------------------------------------- 1 | textord_show_blobs 0 2 | textord_debug_tabfind 3 3 | textord_tabfind_show_partitions 1 4 | textord_tabfind_show_initial_partitions 1 5 | textord_tabfind_show_columns 1 6 | textord_tabfind_show_blocks 1 7 | textord_tabfind_show_initialtabs 1 8 | textord_tabfind_show_finaltabs 1 9 | textord_tabfind_show_strokewidths 1 10 | textord_tabfind_show_vlines 0 11 | textord_tabfind_show_images 1 12 | tessedit_dump_pageseg_images 0 13 | -------------------------------------------------------------------------------- /resources/tessdata/configs/tsv: -------------------------------------------------------------------------------- 1 | tessedit_create_tsv 1 2 | tessedit_pageseg_mode 1 3 | -------------------------------------------------------------------------------- /resources/tessdata/configs/txt: -------------------------------------------------------------------------------- 1 | # This config file should be used with other cofig files which creates renderers. 2 | # usage example: tesseract eurotext.tif eurotext txt hocr pdf 3 | tessedit_create_txt 1 4 | -------------------------------------------------------------------------------- /resources/tessdata/configs/unlv: -------------------------------------------------------------------------------- 1 | tessedit_write_unlv 1 2 | tessedit_pageseg_mode 6 3 | -------------------------------------------------------------------------------- /resources/tessdata/eng.traineddata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pdfix/pdfix_sdk_example_cpp/6ae8ce65e33fc878daca4135be1e39a77d0e1b15/resources/tessdata/eng.traineddata -------------------------------------------------------------------------------- /resources/tessdata/eng.user-patterns: -------------------------------------------------------------------------------- 1 | 1-\d\d\d-GOOG-411 2 | www.\n\\\*.com 3 | -------------------------------------------------------------------------------- /resources/tessdata/eng.user-words: -------------------------------------------------------------------------------- 1 | the 2 | quick 3 | brown 4 | fox 5 | jumped 6 | -------------------------------------------------------------------------------- /resources/tessdata/osd.traineddata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pdfix/pdfix_sdk_example_cpp/6ae8ce65e33fc878daca4135be1e39a77d0e1b15/resources/tessdata/osd.traineddata -------------------------------------------------------------------------------- /resources/tessdata/pdf.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pdfix/pdfix_sdk_example_cpp/6ae8ce65e33fc878daca4135be1e39a77d0e1b15/resources/tessdata/pdf.ttf -------------------------------------------------------------------------------- /resources/tessdata/tessconfigs/Makefile.am: -------------------------------------------------------------------------------- 1 | datadir = @datadir@/tessdata/tessconfigs 2 | data_DATA = batch batch.nochop nobatch matdemo segdemo msdemo 3 | EXTRA_DIST = batch batch.nochop nobatch matdemo segdemo msdemo 4 | -------------------------------------------------------------------------------- /resources/tessdata/tessconfigs/batch: -------------------------------------------------------------------------------- 1 | # No content needed as all defaults are correct. 2 | 3 | -------------------------------------------------------------------------------- /resources/tessdata/tessconfigs/batch.nochop: -------------------------------------------------------------------------------- 1 | chop_enable 0 2 | wordrec_enable_assoc 0 3 | -------------------------------------------------------------------------------- /resources/tessdata/tessconfigs/matdemo: -------------------------------------------------------------------------------- 1 | ################################################# 2 | # Adaptive Matcher Using PreAdapted Templates 3 | ################################################# 4 | 5 | classify_enable_adaptive_debugger 1 6 | matcher_debug_flags 6 7 | matcher_debug_level 1 8 | -------------------------------------------------------------------------------- /resources/tessdata/tessconfigs/msdemo: -------------------------------------------------------------------------------- 1 | ################################################# 2 | # Adaptive Matcher Using PreAdapted Templates 3 | ################################################# 4 | 5 | classify_enable_adaptive_debugger 1 6 | matcher_debug_flags 6 7 | matcher_debug_level 1 8 | 9 | wordrec_display_splits 0 10 | wordrec_display_all_words 1 11 | wordrec_display_all_blobs 1 12 | wordrec_display_segmentations 2 13 | classify_debug_level 1 14 | -------------------------------------------------------------------------------- /resources/tessdata/tessconfigs/nobatch: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /resources/tessdata/tessconfigs/segdemo: -------------------------------------------------------------------------------- 1 | ################################################# 2 | # Adaptive Matcher Using PreAdapted Templates 3 | ################################################# 4 | 5 | wordrec_display_splits 0 6 | wordrec_display_all_words 1 7 | wordrec_display_all_blobs 1 8 | wordrec_display_segmentations 2 9 | classify_debug_level 1 10 | stopper_debug_level 1 11 | -------------------------------------------------------------------------------- /resources/test.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pdfix/pdfix_sdk_example_cpp/6ae8ce65e33fc878daca4135be1e39a77d0e1b15/resources/test.pdf -------------------------------------------------------------------------------- /resources/test.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pdfix/pdfix_sdk_example_cpp/6ae8ce65e33fc878daca4135be1e39a77d0e1b15/resources/test.pfx -------------------------------------------------------------------------------- /resources/watermark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pdfix/pdfix_sdk_example_cpp/6ae8ce65e33fc878daca4135be1e39a77d0e1b15/resources/watermark.png -------------------------------------------------------------------------------- /src/PdfixEngine.cpp: -------------------------------------------------------------------------------- 1 | #include "pdfixsdksamples/PdfixEngine.h" 2 | 3 | Pdfix* PdfixEngine::_pdfix = nullptr; 4 | 5 | Pdfix* PdfixEngine::Init(const std::string& path) { 6 | if (!_pdfix) { 7 | // path points to the folder with pdfix shared library is stored 8 | // the module name contains only relative file path name 9 | if (!Pdfix_init((path + Pdfix_MODULE_NAME).c_str())) { 10 | throw std::runtime_error("Pdfix initialization fail. Unable to load pdf library."); 11 | } 12 | 13 | _pdfix = GetPdfix(); 14 | 15 | if (_pdfix->GetVersionMajor() != PDFIX_VERSION_MAJOR || 16 | _pdfix->GetVersionMinor() != PDFIX_VERSION_MINOR || 17 | _pdfix->GetVersionPatch() != PDFIX_VERSION_PATCH) { 18 | throw std::runtime_error("Incompatible version"); 19 | } 20 | } 21 | return _pdfix; 22 | } 23 | 24 | void PdfixEngine::Terminate() { 25 | if (_pdfix) 26 | _pdfix->Destroy(); 27 | } 28 | -------------------------------------------------------------------------------- /src/RemoveTags.cpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // RemoveTags.cpp 3 | // Copyright (c) 2018 Pdfix. All Rights Reserved. 4 | //////////////////////////////////////////////////////////////////////////////////////////////////// 5 | 6 | #include "pdfixsdksamples/RemoveTags.h" 7 | 8 | #include 9 | #include 10 | #include "Pdfix.h" 11 | #include "pdfixsdksamples/PdfixEngine.h" 12 | 13 | using namespace PDFixSDK; 14 | 15 | void RemoveTags(const std::wstring& open_path, // source PDF document 16 | const std::wstring& save_path // output PDF document 17 | ) { 18 | auto pdfix = PdfixEngine::Get(); 19 | 20 | PdfDoc* doc = pdfix->OpenDoc(open_path.c_str(), L""); 21 | if (!doc) 22 | throw PdfixException(); 23 | 24 | if (!doc->RemoveTags()) 25 | throw PdfixException(); 26 | 27 | if (!doc->Save(save_path.c_str(), kSaveFull)) 28 | throw PdfixException(); 29 | doc->Close(); 30 | } 31 | --------------------------------------------------------------------------------