gitextract_c2x5p8gn/ ├── .gitignore ├── CMakeLists.txt ├── LICENSE.md ├── README.md ├── benchmarks/ │ ├── benchmarks.cpp │ ├── boost/ │ │ ├── LICENSE_1_0.txt │ │ ├── README.txt │ │ ├── array.hpp │ │ ├── assert.hpp │ │ ├── atomic/ │ │ │ ├── atomic.hpp │ │ │ ├── atomic_flag.hpp │ │ │ ├── capabilities.hpp │ │ │ ├── detail/ │ │ │ │ ├── atomic_flag.hpp │ │ │ │ ├── atomic_template.hpp │ │ │ │ ├── bitwise_cast.hpp │ │ │ │ ├── caps_gcc_alpha.hpp │ │ │ │ ├── caps_gcc_arm.hpp │ │ │ │ ├── caps_gcc_atomic.hpp │ │ │ │ ├── caps_gcc_ppc.hpp │ │ │ │ ├── caps_gcc_sparc.hpp │ │ │ │ ├── caps_gcc_sync.hpp │ │ │ │ ├── caps_gcc_x86.hpp │ │ │ │ ├── caps_linux_arm.hpp │ │ │ │ ├── caps_msvc_arm.hpp │ │ │ │ ├── caps_msvc_x86.hpp │ │ │ │ ├── caps_windows.hpp │ │ │ │ ├── config.hpp │ │ │ │ ├── int_sizes.hpp │ │ │ │ ├── interlocked.hpp │ │ │ │ ├── link.hpp │ │ │ │ ├── lockpool.hpp │ │ │ │ ├── operations.hpp │ │ │ │ ├── operations_fwd.hpp │ │ │ │ ├── operations_lockfree.hpp │ │ │ │ ├── ops_cas_based.hpp │ │ │ │ ├── ops_emulated.hpp │ │ │ │ ├── ops_extending_cas_based.hpp │ │ │ │ ├── ops_gcc_alpha.hpp │ │ │ │ ├── ops_gcc_arm.hpp │ │ │ │ ├── ops_gcc_atomic.hpp │ │ │ │ ├── ops_gcc_ppc.hpp │ │ │ │ ├── ops_gcc_sparc.hpp │ │ │ │ ├── ops_gcc_sync.hpp │ │ │ │ ├── ops_gcc_x86.hpp │ │ │ │ ├── ops_gcc_x86_dcas.hpp │ │ │ │ ├── ops_linux_arm.hpp │ │ │ │ ├── ops_msvc_arm.hpp │ │ │ │ ├── ops_msvc_common.hpp │ │ │ │ ├── ops_msvc_x86.hpp │ │ │ │ ├── ops_windows.hpp │ │ │ │ ├── pause.hpp │ │ │ │ ├── platform.hpp │ │ │ │ └── storage_type.hpp │ │ │ └── fences.hpp │ │ ├── atomic.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 │ │ │ │ ├── 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 │ │ │ ├── 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 │ │ │ ├── posix_features.hpp │ │ │ ├── requires_threads.hpp │ │ │ ├── select_compiler_config.hpp │ │ │ ├── select_platform_config.hpp │ │ │ ├── select_stdlib_config.hpp │ │ │ ├── stdlib/ │ │ │ │ ├── dinkumware.hpp │ │ │ │ ├── libcomo.hpp │ │ │ │ ├── libcpp.hpp │ │ │ │ ├── libstdcpp3.hpp │ │ │ │ ├── modena.hpp │ │ │ │ ├── msl.hpp │ │ │ │ ├── roguewave.hpp │ │ │ │ ├── sgi.hpp │ │ │ │ ├── stlport.hpp │ │ │ │ └── vacpp.hpp │ │ │ ├── suffix.hpp │ │ │ ├── user.hpp │ │ │ └── warning_disable.hpp │ │ ├── config.hpp │ │ ├── core/ │ │ │ ├── enable_if.hpp │ │ │ ├── noncopyable.hpp │ │ │ └── swap.hpp │ │ ├── cstdint.hpp │ │ ├── current_function.hpp │ │ ├── detail/ │ │ │ ├── is_xxx.hpp │ │ │ ├── iterator.hpp │ │ │ └── workaround.hpp │ │ ├── exception/ │ │ │ └── exception.hpp │ │ ├── functional/ │ │ │ ├── hash/ │ │ │ │ └── hash_fwd.hpp │ │ │ └── hash_fwd.hpp │ │ ├── limits.hpp │ │ ├── lockfree/ │ │ │ ├── detail/ │ │ │ │ ├── atomic.hpp │ │ │ │ ├── copy_payload.hpp │ │ │ │ ├── freelist.hpp │ │ │ │ ├── parameter.hpp │ │ │ │ ├── prefix.hpp │ │ │ │ ├── tagged_ptr.hpp │ │ │ │ ├── tagged_ptr_dcas.hpp │ │ │ │ └── tagged_ptr_ptrcompression.hpp │ │ │ ├── policies.hpp │ │ │ └── queue.hpp │ │ ├── memory_order.hpp │ │ ├── mpl/ │ │ │ ├── O1_size.hpp │ │ │ ├── O1_size_fwd.hpp │ │ │ ├── always.hpp │ │ │ ├── and.hpp │ │ │ ├── apply.hpp │ │ │ ├── apply_fwd.hpp │ │ │ ├── apply_wrap.hpp │ │ │ ├── arg.hpp │ │ │ ├── arg_fwd.hpp │ │ │ ├── assert.hpp │ │ │ ├── at_fwd.hpp │ │ │ ├── aux_/ │ │ │ │ ├── O1_size_impl.hpp │ │ │ │ ├── adl_barrier.hpp │ │ │ │ ├── arg_typedef.hpp │ │ │ │ ├── arity.hpp │ │ │ │ ├── arity_spec.hpp │ │ │ │ ├── begin_end_impl.hpp │ │ │ │ ├── clear_impl.hpp │ │ │ │ ├── common_name_wknd.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 │ │ │ │ │ ├── use_preprocessed.hpp │ │ │ │ │ └── workaround.hpp │ │ │ │ ├── count_args.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 │ │ │ │ ├── integral_wrapper.hpp │ │ │ │ ├── is_msvc_eti_arg.hpp │ │ │ │ ├── iter_apply.hpp │ │ │ │ ├── iter_fold_if_impl.hpp │ │ │ │ ├── lambda_arity_param.hpp │ │ │ │ ├── lambda_no_ctps.hpp │ │ │ │ ├── lambda_spec.hpp │ │ │ │ ├── lambda_support.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 │ │ │ │ ├── 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_front_impl.hpp │ │ │ │ ├── reverse_fold_impl.hpp │ │ │ │ ├── reverse_fold_impl_body.hpp │ │ │ │ ├── sequence_wrapper.hpp │ │ │ │ ├── static_cast.hpp │ │ │ │ ├── template_arity.hpp │ │ │ │ ├── template_arity_fwd.hpp │ │ │ │ ├── traits_lambda_spec.hpp │ │ │ │ ├── type_wrapper.hpp │ │ │ │ ├── value_wknd.hpp │ │ │ │ └── yes_no.hpp │ │ │ ├── base.hpp │ │ │ ├── begin.hpp │ │ │ ├── begin_end.hpp │ │ │ ├── begin_end_fwd.hpp │ │ │ ├── bind.hpp │ │ │ ├── bind_fwd.hpp │ │ │ ├── bool.hpp │ │ │ ├── bool_fwd.hpp │ │ │ ├── clear.hpp │ │ │ ├── clear_fwd.hpp │ │ │ ├── deref.hpp │ │ │ ├── empty_fwd.hpp │ │ │ ├── end.hpp │ │ │ ├── erase_fwd.hpp │ │ │ ├── erase_key_fwd.hpp │ │ │ ├── eval_if.hpp │ │ │ ├── find.hpp │ │ │ ├── find_if.hpp │ │ │ ├── fold.hpp │ │ │ ├── front_fwd.hpp │ │ │ ├── has_key.hpp │ │ │ ├── has_key_fwd.hpp │ │ │ ├── has_xxx.hpp │ │ │ ├── identity.hpp │ │ │ ├── if.hpp │ │ │ ├── insert.hpp │ │ │ ├── insert_fwd.hpp │ │ │ ├── insert_range_fwd.hpp │ │ │ ├── int.hpp │ │ │ ├── int_fwd.hpp │ │ │ ├── integral_c.hpp │ │ │ ├── integral_c_fwd.hpp │ │ │ ├── integral_c_tag.hpp │ │ │ ├── is_placeholder.hpp │ │ │ ├── iter_fold_if.hpp │ │ │ ├── iterator_range.hpp │ │ │ ├── iterator_tags.hpp │ │ │ ├── key_type_fwd.hpp │ │ │ ├── lambda.hpp │ │ │ ├── lambda_fwd.hpp │ │ │ ├── limits/ │ │ │ │ ├── arity.hpp │ │ │ │ ├── list.hpp │ │ │ │ └── unrolling.hpp │ │ │ ├── list/ │ │ │ │ ├── aux_/ │ │ │ │ │ ├── O1_size.hpp │ │ │ │ │ ├── begin_end.hpp │ │ │ │ │ ├── clear.hpp │ │ │ │ │ ├── empty.hpp │ │ │ │ │ ├── front.hpp │ │ │ │ │ ├── include_preprocessed.hpp │ │ │ │ │ ├── item.hpp │ │ │ │ │ ├── iterator.hpp │ │ │ │ │ ├── numbered.hpp │ │ │ │ │ ├── numbered_c.hpp │ │ │ │ │ ├── pop_front.hpp │ │ │ │ │ ├── preprocessed/ │ │ │ │ │ │ └── plain/ │ │ │ │ │ │ ├── list10.hpp │ │ │ │ │ │ ├── list10_c.hpp │ │ │ │ │ │ ├── list20.hpp │ │ │ │ │ │ ├── list20_c.hpp │ │ │ │ │ │ ├── list30.hpp │ │ │ │ │ │ ├── list30_c.hpp │ │ │ │ │ │ ├── list40.hpp │ │ │ │ │ │ ├── list40_c.hpp │ │ │ │ │ │ ├── list50.hpp │ │ │ │ │ │ └── list50_c.hpp │ │ │ │ │ ├── push_back.hpp │ │ │ │ │ ├── push_front.hpp │ │ │ │ │ ├── size.hpp │ │ │ │ │ └── tag.hpp │ │ │ │ ├── list0.hpp │ │ │ │ ├── list0_c.hpp │ │ │ │ ├── list10.hpp │ │ │ │ ├── list10_c.hpp │ │ │ │ ├── list20.hpp │ │ │ │ ├── list20_c.hpp │ │ │ │ ├── list30.hpp │ │ │ │ ├── list30_c.hpp │ │ │ │ ├── list40.hpp │ │ │ │ ├── list40_c.hpp │ │ │ │ ├── list50.hpp │ │ │ │ └── list50_c.hpp │ │ │ ├── list.hpp │ │ │ ├── logical.hpp │ │ │ ├── long.hpp │ │ │ ├── long_fwd.hpp │ │ │ ├── next.hpp │ │ │ ├── next_prior.hpp │ │ │ ├── not.hpp │ │ │ ├── or.hpp │ │ │ ├── pair.hpp │ │ │ ├── placeholders.hpp │ │ │ ├── pop_front_fwd.hpp │ │ │ ├── prior.hpp │ │ │ ├── protect.hpp │ │ │ ├── push_back_fwd.hpp │ │ │ ├── push_front.hpp │ │ │ ├── push_front_fwd.hpp │ │ │ ├── quote.hpp │ │ │ ├── reverse_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_fwd.hpp │ │ │ ├── size_t.hpp │ │ │ ├── size_t_fwd.hpp │ │ │ ├── value_type_fwd.hpp │ │ │ ├── void.hpp │ │ │ └── void_fwd.hpp │ │ ├── noncopyable.hpp │ │ ├── parameter/ │ │ │ ├── aux_/ │ │ │ │ ├── arg_list.hpp │ │ │ │ ├── cast.hpp │ │ │ │ ├── default.hpp │ │ │ │ ├── is_maybe.hpp │ │ │ │ ├── overloads.hpp │ │ │ │ ├── parameter_requirements.hpp │ │ │ │ ├── parenthesized_type.hpp │ │ │ │ ├── preprocessor/ │ │ │ │ │ ├── flatten.hpp │ │ │ │ │ └── for_each.hpp │ │ │ │ ├── result_of0.hpp │ │ │ │ ├── set.hpp │ │ │ │ ├── tag.hpp │ │ │ │ ├── tagged_argument.hpp │ │ │ │ ├── template_keyword.hpp │ │ │ │ ├── unwrap_cv_reference.hpp │ │ │ │ ├── void.hpp │ │ │ │ └── yesno.hpp │ │ │ ├── binding.hpp │ │ │ ├── config.hpp │ │ │ ├── keyword.hpp │ │ │ ├── macros.hpp │ │ │ ├── match.hpp │ │ │ ├── name.hpp │ │ │ ├── parameters.hpp │ │ │ ├── preprocessor.hpp │ │ │ └── value_type.hpp │ │ ├── parameter.hpp │ │ ├── preprocessor/ │ │ │ ├── arithmetic/ │ │ │ │ ├── add.hpp │ │ │ │ ├── dec.hpp │ │ │ │ ├── inc.hpp │ │ │ │ └── sub.hpp │ │ │ ├── array/ │ │ │ │ ├── data.hpp │ │ │ │ ├── elem.hpp │ │ │ │ └── size.hpp │ │ │ ├── cat.hpp │ │ │ ├── comma_if.hpp │ │ │ ├── comparison/ │ │ │ │ ├── equal.hpp │ │ │ │ ├── less_equal.hpp │ │ │ │ └── not_equal.hpp │ │ │ ├── config/ │ │ │ │ └── config.hpp │ │ │ ├── control/ │ │ │ │ ├── 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 │ │ │ │ ├── is_nullary.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 │ │ │ ├── for.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/ │ │ │ │ ├── deduce_r.hpp │ │ │ │ ├── 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.hpp │ │ │ │ ├── enum_shifted_params.hpp │ │ │ │ ├── enum_trailing.hpp │ │ │ │ ├── enum_trailing_params.hpp │ │ │ │ ├── for.hpp │ │ │ │ ├── repeat.hpp │ │ │ │ └── repeat_from_to.hpp │ │ │ ├── selection/ │ │ │ │ └── max.hpp │ │ │ ├── seq/ │ │ │ │ ├── detail/ │ │ │ │ │ ├── is_empty.hpp │ │ │ │ │ └── split.hpp │ │ │ │ ├── elem.hpp │ │ │ │ ├── enum.hpp │ │ │ │ ├── first_n.hpp │ │ │ │ ├── fold_left.hpp │ │ │ │ ├── for_each.hpp │ │ │ │ ├── for_each_i.hpp │ │ │ │ ├── for_each_product.hpp │ │ │ │ ├── push_back.hpp │ │ │ │ ├── rest_n.hpp │ │ │ │ ├── seq.hpp │ │ │ │ ├── size.hpp │ │ │ │ └── subseq.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/ │ │ │ ├── elem.hpp │ │ │ └── size.hpp │ │ ├── static_assert.hpp │ │ ├── swap.hpp │ │ ├── throw_exception.hpp │ │ ├── type_traits/ │ │ │ ├── add_const.hpp │ │ │ ├── add_lvalue_reference.hpp │ │ │ ├── add_reference.hpp │ │ │ ├── add_rvalue_reference.hpp │ │ │ ├── add_volatile.hpp │ │ │ ├── conditional.hpp │ │ │ ├── declval.hpp │ │ │ ├── detail/ │ │ │ │ ├── config.hpp │ │ │ │ ├── is_function_ptr_helper.hpp │ │ │ │ ├── is_function_ptr_tester.hpp │ │ │ │ ├── is_mem_fun_pointer_impl.hpp │ │ │ │ ├── is_mem_fun_pointer_tester.hpp │ │ │ │ └── yes_no_type.hpp │ │ │ ├── has_trivial_assign.hpp │ │ │ ├── has_trivial_destructor.hpp │ │ │ ├── integral_constant.hpp │ │ │ ├── intrinsics.hpp │ │ │ ├── is_abstract.hpp │ │ │ ├── is_arithmetic.hpp │ │ │ ├── is_array.hpp │ │ │ ├── is_assignable.hpp │ │ │ ├── is_base_and_derived.hpp │ │ │ ├── is_class.hpp │ │ │ ├── is_const.hpp │ │ │ ├── is_convertible.hpp │ │ │ ├── is_destructible.hpp │ │ │ ├── is_enum.hpp │ │ │ ├── is_floating_point.hpp │ │ │ ├── is_function.hpp │ │ │ ├── is_integral.hpp │ │ │ ├── is_lvalue_reference.hpp │ │ │ ├── is_member_function_pointer.hpp │ │ │ ├── is_member_pointer.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 │ │ │ ├── remove_const.hpp │ │ │ ├── remove_cv.hpp │ │ │ └── remove_reference.hpp │ │ ├── utility/ │ │ │ ├── declval.hpp │ │ │ ├── detail/ │ │ │ │ └── result_of_iterate.hpp │ │ │ ├── enable_if.hpp │ │ │ └── result_of.hpp │ │ └── version.hpp │ ├── boostqueue.h │ ├── contrib/ │ │ ├── benchmarks.aws-32.log │ │ └── benchmarks.aws-8.log │ ├── cpuid.cpp │ ├── cpuid.h │ ├── dlib/ │ │ ├── algs.h │ │ ├── array/ │ │ │ ├── array_kernel.h │ │ │ ├── array_kernel_abstract.h │ │ │ ├── array_tools.h │ │ │ └── array_tools_abstract.h │ │ ├── array.h │ │ ├── assert.h │ │ ├── binary_search_tree/ │ │ │ ├── binary_search_tree_kernel_1.h │ │ │ ├── binary_search_tree_kernel_2.h │ │ │ ├── binary_search_tree_kernel_abstract.h │ │ │ └── binary_search_tree_kernel_c.h │ │ ├── binary_search_tree.h │ │ ├── bound_function_pointer/ │ │ │ ├── bound_function_pointer_kernel_1.h │ │ │ └── bound_function_pointer_kernel_abstract.h │ │ ├── bound_function_pointer.h │ │ ├── byte_orderer/ │ │ │ ├── byte_orderer_kernel_1.h │ │ │ └── byte_orderer_kernel_abstract.h │ │ ├── byte_orderer.h │ │ ├── cassert │ │ ├── config.h │ │ ├── console_progress_indicator.h │ │ ├── cstring │ │ ├── dlib_basic_cpp_build_tutorial.txt │ │ ├── dlib_include_path_tutorial.txt │ │ ├── enable_if.h │ │ ├── error.h │ │ ├── float_details.h │ │ ├── fstream │ │ ├── hash.h │ │ ├── interfaces/ │ │ │ ├── cmd_line_parser_option.h │ │ │ ├── enumerable.h │ │ │ ├── map_pair.h │ │ │ └── remover.h │ │ ├── iomanip │ │ ├── iosfwd │ │ ├── iostream │ │ ├── is_kind.h │ │ ├── istream │ │ ├── locale │ │ ├── logger/ │ │ │ ├── extra_logger_headers.h │ │ │ ├── logger_config_file.h │ │ │ ├── logger_kernel_1.h │ │ │ └── logger_kernel_abstract.h │ │ ├── logger.h │ │ ├── map/ │ │ │ ├── map_kernel_1.h │ │ │ ├── map_kernel_abstract.h │ │ │ └── map_kernel_c.h │ │ ├── map.h │ │ ├── member_function_pointer/ │ │ │ ├── make_mfp.h │ │ │ ├── make_mfp_abstract.h │ │ │ ├── member_function_pointer_kernel_1.h │ │ │ └── member_function_pointer_kernel_abstract.h │ │ ├── member_function_pointer.h │ │ ├── memory_manager/ │ │ │ ├── memory_manager_kernel_1.h │ │ │ ├── memory_manager_kernel_2.h │ │ │ ├── memory_manager_kernel_3.h │ │ │ └── memory_manager_kernel_abstract.h │ │ ├── memory_manager.h │ │ ├── memory_manager_global/ │ │ │ ├── memory_manager_global_kernel_1.h │ │ │ └── memory_manager_global_kernel_abstract.h │ │ ├── memory_manager_global.h │ │ ├── memory_manager_stateless/ │ │ │ ├── memory_manager_stateless_kernel_1.h │ │ │ ├── memory_manager_stateless_kernel_2.h │ │ │ └── memory_manager_stateless_kernel_abstract.h │ │ ├── memory_manager_stateless.h │ │ ├── metaprogramming.h │ │ ├── misc_api/ │ │ │ ├── misc_api_kernel_1.h │ │ │ ├── misc_api_kernel_2.h │ │ │ ├── misc_api_kernel_abstract.h │ │ │ ├── misc_api_shared.h │ │ │ ├── posix.h │ │ │ └── windows.h │ │ ├── misc_api.h │ │ ├── noncopyable.h │ │ ├── numeric_constants.h │ │ ├── numerical_integration/ │ │ │ ├── integrate_function_adapt_simpson.h │ │ │ └── integrate_function_adapt_simpson_abstract.h │ │ ├── numerical_integration.h │ │ ├── ostream │ │ ├── pipe/ │ │ │ ├── pipe_kernel_1.h │ │ │ └── pipe_kernel_abstract.h │ │ ├── pipe.h │ │ ├── platform.h │ │ ├── queue/ │ │ │ ├── queue_kernel_1.h │ │ │ ├── queue_kernel_2.h │ │ │ ├── queue_kernel_abstract.h │ │ │ ├── queue_kernel_c.h │ │ │ ├── queue_sort_1.h │ │ │ └── queue_sort_abstract.h │ │ ├── queue.h │ │ ├── ref.h │ │ ├── revision.h │ │ ├── serialize.h │ │ ├── set/ │ │ │ ├── set_compare_1.h │ │ │ ├── set_compare_abstract.h │ │ │ ├── set_kernel_1.h │ │ │ ├── set_kernel_abstract.h │ │ │ └── set_kernel_c.h │ │ ├── set.h │ │ ├── sliding_buffer/ │ │ │ ├── circular_buffer.h │ │ │ ├── circular_buffer_abstract.h │ │ │ ├── sliding_buffer_kernel_1.h │ │ │ ├── sliding_buffer_kernel_abstract.h │ │ │ └── sliding_buffer_kernel_c.h │ │ ├── sliding_buffer.h │ │ ├── sockets/ │ │ │ ├── posix.h │ │ │ ├── sockets_extensions.h │ │ │ ├── sockets_extensions_abstract.h │ │ │ ├── sockets_kernel_1.h │ │ │ ├── sockets_kernel_2.h │ │ │ ├── sockets_kernel_abstract.h │ │ │ └── windows.h │ │ ├── sockets.h │ │ ├── sort.h │ │ ├── sparse_vector.h │ │ ├── sstream │ │ ├── stack/ │ │ │ ├── stack_kernel_1.h │ │ │ ├── stack_kernel_abstract.h │ │ │ └── stack_kernel_c.h │ │ ├── stack.h │ │ ├── stack_trace.h │ │ ├── std_allocator.h │ │ ├── stl_checked/ │ │ │ ├── std_vector_c.h │ │ │ └── std_vector_c_abstract.h │ │ ├── stl_checked.h │ │ ├── string/ │ │ │ ├── cassert │ │ │ ├── iomanip │ │ │ ├── iosfwd │ │ │ ├── iostream │ │ │ ├── locale │ │ │ ├── string.h │ │ │ └── string_abstract.h │ │ ├── string.h │ │ ├── test_for_odr_violations.cpp │ │ ├── test_for_odr_violations.h │ │ ├── threads/ │ │ │ ├── async.h │ │ │ ├── async_abstract.h │ │ │ ├── auto_mutex_extension.h │ │ │ ├── auto_mutex_extension_abstract.h │ │ │ ├── auto_unlock_extension.h │ │ │ ├── auto_unlock_extension_abstract.h │ │ │ ├── create_new_thread_extension.h │ │ │ ├── create_new_thread_extension_abstract.h │ │ │ ├── multithreaded_object_extension.h │ │ │ ├── multithreaded_object_extension_abstract.h │ │ │ ├── parallel_for_extension.h │ │ │ ├── parallel_for_extension_abstract.h │ │ │ ├── posix.h │ │ │ ├── read_write_mutex_extension.h │ │ │ ├── read_write_mutex_extension_abstract.h │ │ │ ├── rmutex_extension.h │ │ │ ├── rmutex_extension_abstract.h │ │ │ ├── rsignaler_extension.h │ │ │ ├── rsignaler_extension_abstract.h │ │ │ ├── thread_function_extension.h │ │ │ ├── thread_function_extension_abstract.h │ │ │ ├── thread_pool_extension.h │ │ │ ├── thread_pool_extension_abstract.h │ │ │ ├── thread_specific_data_extension.h │ │ │ ├── thread_specific_data_extension_abstract.h │ │ │ ├── threaded_object_extension.h │ │ │ ├── threaded_object_extension_abstract.h │ │ │ ├── threads_kernel.h │ │ │ ├── threads_kernel_1.h │ │ │ ├── threads_kernel_2.h │ │ │ ├── threads_kernel_abstract.h │ │ │ ├── threads_kernel_shared.h │ │ │ └── windows.h │ │ ├── threads.h │ │ ├── time_this.h │ │ ├── timeout/ │ │ │ ├── timeout.h │ │ │ └── timeout_abstract.h │ │ ├── timeout.h │ │ ├── timer/ │ │ │ ├── timer.h │ │ │ ├── timer_abstract.h │ │ │ └── timer_heavy.h │ │ ├── timer.h │ │ ├── timing.h │ │ ├── tokenizer/ │ │ │ ├── tokenizer_kernel_1.h │ │ │ ├── tokenizer_kernel_abstract.h │ │ │ └── tokenizer_kernel_c.h │ │ ├── tokenizer.h │ │ ├── uintn.h │ │ ├── unicode/ │ │ │ ├── unicode.h │ │ │ └── unicode_abstract.h │ │ ├── unicode.h │ │ ├── unordered_pair.h │ │ ├── vectorstream/ │ │ │ ├── unserialize.h │ │ │ ├── unserialize_abstract.h │ │ │ ├── vectorstream.h │ │ │ └── vectorstream_abstract.h │ │ ├── vectorstream.h │ │ └── windows_magic.h │ ├── dlibqueue.h │ ├── extract_graph_data.py │ ├── lockbasedqueue.h │ ├── makefile │ ├── simplelockfree.h │ ├── stdqueue.h │ ├── tbb/ │ │ ├── COPYING │ │ ├── README.txt │ │ ├── aggregator.h │ │ ├── aligned_space.h │ │ ├── arena.cpp │ │ ├── arena.h │ │ ├── atomic.h │ │ ├── blocked_range.h │ │ ├── blocked_range2d.h │ │ ├── blocked_range3d.h │ │ ├── cache_aligned_allocator.cpp │ │ ├── cache_aligned_allocator.h │ │ ├── cilk-tbb-interop.h │ │ ├── combinable.h │ │ ├── compat/ │ │ │ ├── condition_variable │ │ │ ├── ppl.h │ │ │ ├── thread │ │ │ └── tuple │ │ ├── concurrent_hash_map.cpp │ │ ├── concurrent_hash_map.h │ │ ├── concurrent_lru_cache.h │ │ ├── concurrent_monitor.cpp │ │ ├── concurrent_monitor.h │ │ ├── concurrent_priority_queue.h │ │ ├── concurrent_queue.cpp │ │ ├── concurrent_queue.h │ │ ├── concurrent_unordered_map.h │ │ ├── concurrent_unordered_set.h │ │ ├── concurrent_vector.cpp │ │ ├── concurrent_vector.h │ │ ├── condition_variable.cpp │ │ ├── critical_section.cpp │ │ ├── critical_section.h │ │ ├── custom_scheduler.h │ │ ├── dynamic_link.cpp │ │ ├── dynamic_link.h │ │ ├── enumerable_thread_specific.h │ │ ├── flow_graph.h │ │ ├── governor.cpp │ │ ├── governor.h │ │ ├── ia32-masm/ │ │ │ ├── atomic_support.asm │ │ │ ├── itsx.asm │ │ │ └── lock_byte.asm │ │ ├── ia64-gas/ │ │ │ ├── atomic_support.s │ │ │ ├── ia64_misc.s │ │ │ ├── lock_byte.s │ │ │ ├── log2.s │ │ │ └── pause.s │ │ ├── ibm_aix51/ │ │ │ └── atomic_support.c │ │ ├── intel64-masm/ │ │ │ ├── atomic_support.asm │ │ │ ├── intel64_misc.asm │ │ │ └── itsx.asm │ │ ├── internal/ │ │ │ ├── _aggregator_impl.h │ │ │ ├── _concurrent_queue_impl.h │ │ │ ├── _concurrent_unordered_impl.h │ │ │ ├── _flow_graph_impl.h │ │ │ ├── _flow_graph_indexer_impl.h │ │ │ ├── _flow_graph_item_buffer_impl.h │ │ │ ├── _flow_graph_join_impl.h │ │ │ ├── _flow_graph_node_impl.h │ │ │ ├── _flow_graph_tagged_buffer_impl.h │ │ │ ├── _flow_graph_trace_impl.h │ │ │ ├── _flow_graph_types_impl.h │ │ │ ├── _mutex_padding.h │ │ │ ├── _range_iterator.h │ │ │ ├── _tbb_strings.h │ │ │ ├── _tbb_windef.h │ │ │ ├── _x86_eliding_mutex_impl.h │ │ │ └── _x86_rtm_rw_mutex_impl.h │ │ ├── intrusive_list.h │ │ ├── itt_notify.cpp │ │ ├── itt_notify.h │ │ ├── lin32-tbb-export.def │ │ ├── lin32-tbb-export.lst │ │ ├── lin64-tbb-export.def │ │ ├── lin64-tbb-export.lst │ │ ├── lin64ipf-tbb-export.def │ │ ├── lin64ipf-tbb-export.lst │ │ ├── mac32-tbb-export.def │ │ ├── mac32-tbb-export.lst │ │ ├── mac64-tbb-export.def │ │ ├── mac64-tbb-export.lst │ │ ├── machine/ │ │ │ ├── gcc_armv7.h │ │ │ ├── gcc_generic.h │ │ │ ├── gcc_ia32_common.h │ │ │ ├── gcc_itsx.h │ │ │ ├── ibm_aix51.h │ │ │ ├── icc_generic.h │ │ │ ├── linux_common.h │ │ │ ├── linux_ia32.h │ │ │ ├── linux_ia64.h │ │ │ ├── linux_intel64.h │ │ │ ├── mac_ppc.h │ │ │ ├── macos_common.h │ │ │ ├── mic_common.h │ │ │ ├── msvc_armv7.h │ │ │ ├── msvc_ia32_common.h │ │ │ ├── sunos_sparc.h │ │ │ ├── windows_api.h │ │ │ ├── windows_ia32.h │ │ │ ├── windows_intel64.h │ │ │ └── xbox360_ppc.h │ │ ├── mailbox.h │ │ ├── market.cpp │ │ ├── market.h │ │ ├── memory_pool.h │ │ ├── mutex.cpp │ │ ├── mutex.h │ │ ├── null_mutex.h │ │ ├── null_rw_mutex.h │ │ ├── observer_proxy.cpp │ │ ├── observer_proxy.h │ │ ├── parallel_do.h │ │ ├── parallel_for.h │ │ ├── parallel_for_each.h │ │ ├── parallel_invoke.h │ │ ├── parallel_reduce.h │ │ ├── parallel_scan.h │ │ ├── parallel_sort.h │ │ ├── parallel_while.h │ │ ├── partitioner.h │ │ ├── pipeline.cpp │ │ ├── pipeline.h │ │ ├── private_server.cpp │ │ ├── queuing_mutex.cpp │ │ ├── queuing_mutex.h │ │ ├── queuing_rw_mutex.cpp │ │ ├── queuing_rw_mutex.h │ │ ├── reader_writer_lock.cpp │ │ ├── reader_writer_lock.h │ │ ├── recursive_mutex.cpp │ │ ├── recursive_mutex.h │ │ ├── runtime_loader.h │ │ ├── scalable_allocator.h │ │ ├── scheduler.cpp │ │ ├── scheduler.h │ │ ├── scheduler_common.h │ │ ├── scheduler_utility.h │ │ ├── semaphore.cpp │ │ ├── semaphore.h │ │ ├── spin_mutex.cpp │ │ ├── spin_mutex.h │ │ ├── spin_rw_mutex.cpp │ │ ├── spin_rw_mutex.h │ │ ├── task.cpp │ │ ├── task.h │ │ ├── task_arena.h │ │ ├── task_group.h │ │ ├── task_group_context.cpp │ │ ├── task_scheduler_init.h │ │ ├── task_scheduler_observer.h │ │ ├── task_stream.h │ │ ├── tbb.h │ │ ├── tbb_allocator.h │ │ ├── tbb_assert_impl.h │ │ ├── tbb_config.h │ │ ├── tbb_exception.h │ │ ├── tbb_machine.h │ │ ├── tbb_main.cpp │ │ ├── tbb_main.h │ │ ├── tbb_misc.cpp │ │ ├── tbb_misc.h │ │ ├── tbb_misc_ex.cpp │ │ ├── tbb_profiling.h │ │ ├── tbb_resource.rc │ │ ├── tbb_statistics.cpp │ │ ├── tbb_statistics.h │ │ ├── tbb_stddef.h │ │ ├── tbb_thread.cpp │ │ ├── tbb_thread.h │ │ ├── tbb_version.h │ │ ├── tbbmalloc_proxy.h │ │ ├── tick_count.h │ │ ├── tls.h │ │ ├── tools_api/ │ │ │ ├── disable_warnings.h │ │ │ ├── internal/ │ │ │ │ └── ittnotify.h │ │ │ ├── ittnotify.h │ │ │ ├── ittnotify_config.h │ │ │ ├── ittnotify_static.c │ │ │ ├── ittnotify_static.h │ │ │ ├── ittnotify_types.h │ │ │ ├── legacy/ │ │ │ │ └── ittnotify.h │ │ │ └── prototype/ │ │ │ └── ittnotify.h │ │ ├── version_string.ver │ │ ├── win32-tbb-export.def │ │ ├── win32-tbb-export.lst │ │ ├── win64-gcc-tbb-export.def │ │ ├── win64-gcc-tbb-export.lst │ │ ├── win64-tbb-export.def │ │ ├── win64-tbb-export.lst │ │ ├── winrt-tbb-export.lst │ │ ├── x86_rtm_rw_mutex.cpp │ │ └── xbox360-tbb-export.def │ ├── tbbqueue.h │ └── wrappers.h ├── blockingconcurrentqueue.h ├── build/ │ ├── makefile │ ├── makefile.inc │ ├── msvc11/ │ │ ├── benchmarks.vcxproj │ │ ├── benchmarks.vcxproj.filters │ │ ├── concurrentqueue.sln │ │ ├── fuzztests.vcxproj │ │ ├── fuzztests.vcxproj.filters │ │ ├── unittests.vcxproj │ │ └── unittests.vcxproj.filters │ ├── msvc12/ │ │ ├── benchmarks.vcxproj │ │ ├── benchmarks.vcxproj.filters │ │ ├── concurrentqueue.sln │ │ ├── fuzztests.vcxproj │ │ ├── fuzztests.vcxproj.filters │ │ ├── msvc_tbb_stubs.cpp │ │ ├── unittests.vcxproj │ │ └── unittests.vcxproj.filters │ ├── msvc14/ │ │ ├── benchmarks.vcxproj │ │ ├── benchmarks.vcxproj.filters │ │ ├── concurrentqueue.sln │ │ ├── fuzztests.vcxproj │ │ ├── fuzztests.vcxproj.filters │ │ ├── msvc_tbb_stubs.cpp │ │ ├── unittests.vcxproj │ │ └── unittests.vcxproj.filters │ ├── msvc15/ │ │ ├── benchmarks.vcxproj │ │ ├── benchmarks.vcxproj.filters │ │ ├── concurrentqueue.sln │ │ ├── fuzztests.vcxproj │ │ ├── fuzztests.vcxproj.filters │ │ ├── msvc_tbb_stubs.cpp │ │ ├── unittests.vcxproj │ │ └── unittests.vcxproj.filters │ ├── msvc16/ │ │ ├── benchmarks.vcxproj │ │ ├── benchmarks.vcxproj.filters │ │ ├── concurrentqueue.sln │ │ ├── fuzztests.vcxproj │ │ ├── fuzztests.vcxproj.filters │ │ ├── msvc_tbb_stubs.cpp │ │ ├── unittests.vcxproj │ │ └── unittests.vcxproj.filters │ └── xcode/ │ ├── Info.plist │ ├── concurrentqueue.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── concurrentqueue-unittests-ios.xcscheme │ └── main_ios.mm ├── c_api/ │ ├── blockingconcurrentqueue.cpp │ ├── concurrentqueue.cpp │ └── concurrentqueue.h ├── concurrentqueue.h ├── concurrentqueueConfig.cmake.in ├── internal/ │ └── concurrentqueue_internal_debug.h ├── lightweightsemaphore.h ├── samples.md └── tests/ ├── CDSChecker/ │ ├── README.txt │ ├── corealgo.h │ ├── enqueue_dequeue_many.cpp │ ├── enqueue_dequeue_one.cpp │ └── makefile ├── common/ │ ├── simplethread.cpp │ ├── simplethread.h │ ├── systemtime.cpp │ └── systemtime.h ├── corealgos.h ├── fuzztests/ │ ├── fuzztests.cpp │ └── makefile ├── relacy/ │ ├── freelist.cpp │ ├── integrated.cpp │ ├── makefile │ ├── relacy/ │ │ ├── CHANGES │ │ ├── LICENSE │ │ ├── VERSION │ │ ├── example/ │ │ │ ├── cli_ws_deque/ │ │ │ │ ├── cli_ws_deque.cpp │ │ │ │ ├── msvc8/ │ │ │ │ │ ├── cli_ws_deque.sln │ │ │ │ │ └── cli_ws_deque.vcproj │ │ │ │ ├── stdafx.cpp │ │ │ │ └── stdafx.h │ │ │ ├── condvar/ │ │ │ │ ├── condvar.cpp │ │ │ │ ├── msvc8/ │ │ │ │ │ ├── condvar.sln │ │ │ │ │ └── condvar.vcproj │ │ │ │ ├── msvc9/ │ │ │ │ │ ├── condvar.sln │ │ │ │ │ └── condvar.vcproj │ │ │ │ ├── stdafx.cpp │ │ │ │ └── stdafx.h │ │ │ ├── eao_blocking/ │ │ │ │ └── eao_blocking.cpp │ │ │ ├── eventcount/ │ │ │ │ ├── eventcount.cpp │ │ │ │ ├── msvc8/ │ │ │ │ │ ├── eventcount.sln │ │ │ │ │ └── eventcount.vcproj │ │ │ │ ├── msvc9/ │ │ │ │ │ ├── eventcount.sln │ │ │ │ │ └── eventcount.vcproj │ │ │ │ ├── stdafx.cpp │ │ │ │ └── stdafx.h │ │ │ ├── examples/ │ │ │ │ ├── amp_condvar.hpp │ │ │ │ ├── examples.cpp │ │ │ │ ├── msvc9/ │ │ │ │ │ ├── examples.sln │ │ │ │ │ └── examples.vcproj │ │ │ │ ├── spsc_overwrite_queue.hpp │ │ │ │ ├── stdafx.cpp │ │ │ │ └── stdafx.h │ │ │ ├── java_ws_deque/ │ │ │ │ ├── java_ws_deque.cpp │ │ │ │ ├── msvc8/ │ │ │ │ │ ├── java_ws_deque.sln │ │ │ │ │ └── java_ws_deque.vcproj │ │ │ │ ├── stdafx.cpp │ │ │ │ └── stdafx.h │ │ │ ├── mpmc/ │ │ │ │ ├── mpmc.cpp │ │ │ │ ├── msvc8/ │ │ │ │ │ ├── mpmc.sln │ │ │ │ │ └── mpmc.vcproj │ │ │ │ ├── pcx.h │ │ │ │ ├── stdafx.cpp │ │ │ │ └── stdafx.h │ │ │ ├── mutex_business_logic/ │ │ │ │ ├── msvc8/ │ │ │ │ │ ├── mutex_business_logic.sln │ │ │ │ │ └── mutex_business_logic.vcproj │ │ │ │ ├── mutex_business_logic.cpp │ │ │ │ ├── stdafx.cpp │ │ │ │ └── stdafx.h │ │ │ ├── peterson/ │ │ │ │ ├── msvc8/ │ │ │ │ │ ├── peterson.sln │ │ │ │ │ └── peterson.vcproj │ │ │ │ ├── msvc9/ │ │ │ │ │ ├── peterson.sln │ │ │ │ │ └── peterson.vcproj │ │ │ │ ├── peterson.cpp │ │ │ │ ├── stdafx.cpp │ │ │ │ └── stdafx.h │ │ │ ├── proxy_collector/ │ │ │ │ ├── msvc8/ │ │ │ │ │ ├── proxy_collector.sln │ │ │ │ │ └── proxy_collector.vcproj │ │ │ │ ├── msvc9/ │ │ │ │ │ ├── proxy_collector.sln │ │ │ │ │ └── proxy_collector.vcproj │ │ │ │ ├── proxy_collector.cpp │ │ │ │ ├── stdafx.cpp │ │ │ │ └── stdafx.h │ │ │ ├── ref_counting/ │ │ │ │ ├── msvc8/ │ │ │ │ │ ├── ref_counting.sln │ │ │ │ │ └── ref_counting.vcproj │ │ │ │ ├── msvc9/ │ │ │ │ │ ├── ref_counting.sln │ │ │ │ │ └── ref_counting.vcproj │ │ │ │ ├── ref_counting.cpp │ │ │ │ ├── stdafx.cpp │ │ │ │ └── stdafx.h │ │ │ ├── smr/ │ │ │ │ ├── g++/ │ │ │ │ │ └── Makefile │ │ │ │ ├── msvc8/ │ │ │ │ │ ├── smr.sln │ │ │ │ │ └── smr.vcproj │ │ │ │ ├── msvc9/ │ │ │ │ │ ├── smr.sln │ │ │ │ │ └── smr.vcproj │ │ │ │ ├── smr.cpp │ │ │ │ ├── stdafx.cpp │ │ │ │ └── stdafx.h │ │ │ ├── spsc_queue/ │ │ │ │ ├── msvc8/ │ │ │ │ │ ├── spsc_queue.sln │ │ │ │ │ └── spsc_queue.vcproj │ │ │ │ ├── msvc9/ │ │ │ │ │ ├── spsc_queue.sln │ │ │ │ │ └── spsc_queue.vcproj │ │ │ │ ├── spsc_queue.cpp │ │ │ │ ├── stdafx.cpp │ │ │ │ └── stdafx.h │ │ │ ├── stack/ │ │ │ │ ├── DESCRIPTION.TXT │ │ │ │ ├── msvc8/ │ │ │ │ │ ├── stack.sln │ │ │ │ │ └── stack.vcproj │ │ │ │ ├── msvc9/ │ │ │ │ │ ├── stack.sln │ │ │ │ │ └── stack.vcproj │ │ │ │ ├── stack.cpp │ │ │ │ ├── stdafx.cpp │ │ │ │ └── stdafx.h │ │ │ ├── tbb_eventcount/ │ │ │ │ ├── eventcount.cpp │ │ │ │ ├── msvc8/ │ │ │ │ │ ├── eventcount.sln │ │ │ │ │ └── eventcount.vcproj │ │ │ │ ├── msvc9/ │ │ │ │ │ ├── eventcount.sln │ │ │ │ │ └── eventcount.vcproj │ │ │ │ ├── stdafx.cpp │ │ │ │ └── stdafx.h │ │ │ ├── ws_deque/ │ │ │ │ ├── msvc8/ │ │ │ │ │ ├── ws_deque.sln │ │ │ │ │ └── ws_deque.vcproj │ │ │ │ ├── msvc9/ │ │ │ │ │ ├── ws_deque.sln │ │ │ │ │ └── ws_deque.vcproj │ │ │ │ ├── stdafx.cpp │ │ │ │ ├── stdafx.h │ │ │ │ └── ws_deque.cpp │ │ │ └── ws_deque2/ │ │ │ ├── msvc8/ │ │ │ │ ├── ws_deque.sln │ │ │ │ └── ws_deque.vcproj │ │ │ ├── stdafx.cpp │ │ │ ├── stdafx.h │ │ │ └── ws_deque.cpp │ │ ├── relacy/ │ │ │ ├── atomic.hpp │ │ │ ├── atomic_events.hpp │ │ │ ├── atomic_fence.hpp │ │ │ ├── backoff.hpp │ │ │ ├── base.hpp │ │ │ ├── cli.hpp │ │ │ ├── cli_interlocked.hpp │ │ │ ├── cli_var.hpp │ │ │ ├── cli_volatile.hpp │ │ │ ├── context.hpp │ │ │ ├── context_addr_hash.hpp │ │ │ ├── context_base.hpp │ │ │ ├── context_base_impl.hpp │ │ │ ├── context_bound_scheduler.hpp │ │ │ ├── defs.hpp │ │ │ ├── dyn_thread.hpp │ │ │ ├── dyn_thread_ctx.hpp │ │ │ ├── foreach.hpp │ │ │ ├── full_search_scheduler.hpp │ │ │ ├── history.hpp │ │ │ ├── java.hpp │ │ │ ├── java_atomic.hpp │ │ │ ├── java_var.hpp │ │ │ ├── java_volatile.hpp │ │ │ ├── memory.hpp │ │ │ ├── memory_order.hpp │ │ │ ├── pch.hpp │ │ │ ├── platform.hpp │ │ │ ├── pthread.h │ │ │ ├── random.hpp │ │ │ ├── random_scheduler.hpp │ │ │ ├── relacy.hpp │ │ │ ├── relacy_cli.hpp │ │ │ ├── relacy_java.hpp │ │ │ ├── relacy_std.hpp │ │ │ ├── rmw.hpp │ │ │ ├── scheduler.hpp │ │ │ ├── signature.hpp │ │ │ ├── slab_allocator.hpp │ │ │ ├── stdlib/ │ │ │ │ ├── condition_variable.hpp │ │ │ │ ├── event.hpp │ │ │ │ ├── mutex.hpp │ │ │ │ ├── pthread.hpp │ │ │ │ ├── semaphore.hpp │ │ │ │ └── windows.hpp │ │ │ ├── sync_var.hpp │ │ │ ├── test_params.hpp │ │ │ ├── test_result.hpp │ │ │ ├── test_suite.hpp │ │ │ ├── thread.hpp │ │ │ ├── thread_base.hpp │ │ │ ├── thread_local.hpp │ │ │ ├── thread_local_ctx.hpp │ │ │ ├── var.hpp │ │ │ ├── volatile.hpp │ │ │ ├── waitset.hpp │ │ │ └── windows.h │ │ └── test/ │ │ ├── addr_hash.hpp │ │ ├── advanced.txt │ │ ├── compare_swap.hpp │ │ ├── condvar.hpp │ │ ├── data_race.hpp │ │ ├── detection.txt │ │ ├── dyn_thread.hpp │ │ ├── event.hpp │ │ ├── features.txt │ │ ├── fence.hpp │ │ ├── foo.cpp │ │ ├── futex.hpp │ │ ├── g++/ │ │ │ ├── build_all_cygwin_debug.bat │ │ │ ├── build_all_debug.bat │ │ │ ├── build_all_release.sh │ │ │ ├── build_cygwin_release.cmd │ │ │ ├── build_debug.cmd │ │ │ ├── build_release.cmd │ │ │ └── test.cpp │ │ ├── iriw.cpp │ │ ├── jtest/ │ │ │ ├── jtest.cpp │ │ │ ├── msvc8/ │ │ │ │ ├── jtest.sln │ │ │ │ └── jtest.vcproj │ │ │ ├── msvc9/ │ │ │ │ ├── jtest.sln │ │ │ │ └── jtest.vcproj │ │ │ ├── stdafx.cpp │ │ │ └── stdafx.h │ │ ├── main.cpp │ │ ├── memory.hpp │ │ ├── memory_order.hpp │ │ ├── msvc71/ │ │ │ ├── test.sln │ │ │ └── test.vcproj │ │ ├── msvc8/ │ │ │ ├── rrd.sln │ │ │ ├── rrd.vcproj │ │ │ ├── test.sln │ │ │ └── test.vcproj │ │ ├── msvc9/ │ │ │ ├── rrd.sln │ │ │ ├── rrd.vcproj │ │ │ ├── test.sln │ │ │ └── test.vcproj │ │ ├── mutex.hpp │ │ ├── ntest/ │ │ │ ├── msvc8/ │ │ │ │ ├── ntest.sln │ │ │ │ └── ntest.vcproj │ │ │ ├── msvc9/ │ │ │ │ ├── ntest.sln │ │ │ │ └── ntest.vcproj │ │ │ ├── ntest.cpp │ │ │ ├── stdafx.cpp │ │ │ └── stdafx.h │ │ ├── pthread.hpp │ │ ├── scheduler.hpp │ │ ├── semaphore.hpp │ │ ├── stdafx.cpp │ │ ├── stdafx.h │ │ ├── thread_local.hpp │ │ ├── todo.txt │ │ ├── trash/ │ │ │ ├── original.hpp │ │ │ └── rtl.hpp │ │ ├── tutorial.txt │ │ ├── wfmo.hpp │ │ └── windows.hpp │ ├── relacy_shims.h │ └── spmchash.cpp └── unittests/ ├── makefile ├── mallocmacro.cpp ├── minitest.h └── unittests.cpp