├── .clang_complete ├── .gitattributes ├── .gitignore ├── .gitmodules ├── .travis.yml ├── Doxyfile ├── LICENSE ├── MANIFEST.in ├── README.md ├── SConstruct ├── benchmark └── benchmark_lob.cpp ├── docs ├── annotated.html ├── bc_s.png ├── bdwn.png ├── c__library_8hpp_source.html ├── class_l_o_b_1_1_limit_order_book-members.html ├── class_l_o_b_1_1_limit_order_book.html ├── classes.html ├── classlimit__order__book_1_1library_1_1_library-members.html ├── classlimit__order__book_1_1library_1_1_library.html ├── classlimit__order__book_1_1limit__order__book_1_1_limit_order_book-members.html ├── classlimit__order__book_1_1limit__order__book_1_1_limit_order_book.html ├── closed.png ├── dir_44cec6e3ea30e076b9313c4641539d9f.html ├── dir_5c982d53a68cdbcd421152b4020263a9.html ├── dir_68267d1309a1af8e8297ef4c3efbcdba.html ├── dir_7575d92b22b6c8891413d113cc944513.html ├── dir_d44c64559bbebec7f509842c48db8b23.html ├── doc.png ├── doxygen.png ├── dynsections.js ├── files.html ├── folderclosed.png ├── folderopen.png ├── functions.html ├── functions_func.html ├── functions_vars.html ├── hierarchy.html ├── html_stylesheet.css ├── index.html ├── jquery.js ├── lib__lob_8hpp_source.html ├── limit-order-book.svg ├── limit__order__book_8hpp_source.html ├── limit__tree_8hpp_source.html ├── menu.js ├── menudata.js ├── namespace_l_o_b.html ├── namespacelimit__order__book.html ├── namespacelimit__order__book_1_1library.html ├── namespacelimit__order__book_1_1limit__order__book.html ├── namespacemembers.html ├── namespacemembers_enum.html ├── namespacemembers_func.html ├── namespacemembers_type.html ├── namespaces.html ├── nav_f.png ├── nav_g.png ├── nav_h.png ├── open.png ├── search │ ├── all_0.html │ ├── all_0.js │ ├── all_1.html │ ├── all_1.js │ ├── all_2.html │ ├── all_2.js │ ├── all_3.html │ ├── all_3.js │ ├── all_4.html │ ├── all_4.js │ ├── all_5.html │ ├── all_5.js │ ├── all_6.html │ ├── all_6.js │ ├── all_7.html │ ├── all_7.js │ ├── all_8.html │ ├── all_8.js │ ├── all_9.html │ ├── all_9.js │ ├── all_a.html │ ├── all_a.js │ ├── all_b.html │ ├── all_b.js │ ├── all_c.html │ ├── all_c.js │ ├── all_d.html │ ├── all_d.js │ ├── all_e.html │ ├── all_e.js │ ├── classes_0.html │ ├── classes_0.js │ ├── classes_1.html │ ├── classes_1.js │ ├── close.png │ ├── enums_0.html │ ├── enums_0.js │ ├── functions_0.html │ ├── functions_0.js │ ├── functions_1.html │ ├── functions_1.js │ ├── functions_2.html │ ├── functions_2.js │ ├── functions_3.html │ ├── functions_3.js │ ├── functions_4.html │ ├── functions_4.js │ ├── functions_5.html │ ├── functions_5.js │ ├── functions_6.html │ ├── functions_6.js │ ├── functions_7.html │ ├── functions_7.js │ ├── functions_8.html │ ├── functions_8.js │ ├── functions_9.html │ ├── functions_9.js │ ├── functions_a.html │ ├── functions_a.js │ ├── functions_b.html │ ├── functions_b.js │ ├── functions_c.html │ ├── functions_c.js │ ├── mag_sel.png │ ├── namespaces_0.html │ ├── namespaces_0.js │ ├── nomatches.html │ ├── pages_0.html │ ├── pages_0.js │ ├── search.css │ ├── search.js │ ├── search_l.png │ ├── search_m.png │ ├── search_r.png │ ├── searchdata.js │ ├── typedefs_0.html │ ├── typedefs_0.js │ ├── typedefs_1.html │ ├── typedefs_1.js │ ├── typedefs_2.html │ ├── typedefs_2.js │ ├── typedefs_3.html │ ├── typedefs_3.js │ ├── typedefs_4.html │ ├── typedefs_4.js │ ├── variables_0.html │ ├── variables_0.js │ ├── variables_1.html │ ├── variables_1.js │ ├── variables_2.html │ ├── variables_2.js │ ├── variables_3.html │ ├── variables_3.js │ ├── variables_4.html │ ├── variables_4.js │ ├── variables_5.html │ ├── variables_5.js │ ├── variables_6.html │ ├── variables_6.js │ ├── variables_7.html │ ├── variables_7.js │ ├── variables_8.html │ ├── variables_8.js │ ├── variables_9.html │ ├── variables_9.js │ ├── variables_a.html │ └── variables_a.js ├── splitbar.png ├── struct_l_o_b_1_1_limit-members.html ├── struct_l_o_b_1_1_limit.html ├── struct_l_o_b_1_1_limit.png ├── struct_l_o_b_1_1_limit_tree-members.html ├── struct_l_o_b_1_1_limit_tree.html ├── struct_l_o_b_1_1_order-members.html ├── struct_l_o_b_1_1_order.html ├── struct_l_o_b_1_1_order.png ├── structures_8hpp_source.html ├── sync_off.png ├── sync_on.png ├── tab_a.png ├── tab_b.png ├── tab_h.png ├── tab_s.png └── tabs.css ├── doxygen ├── UML.mdj ├── html_footer.html ├── html_header.html ├── html_stylesheet.css └── img │ ├── limit-order-book.pdf │ └── limit-order-book.svg ├── include ├── lib_lob.hpp ├── limit_order_book.hpp ├── limit_tree.hpp └── structures.hpp ├── limit_order_book ├── __init__.py ├── library.py ├── limit_order_book.py └── test │ ├── __init__.py │ └── test_limit_order_book.py ├── main └── dummy_matching.cpp ├── makefile ├── notes ├── engines │ ├── engine.c │ └── island.prg └── lob.md ├── setup.py ├── src └── lib_lob.cpp ├── test ├── test_limit_order_book.cpp ├── test_limit_tree.cpp └── test_structures.cpp └── vendor ├── Catch2 ├── .conan │ ├── build.py │ └── test_package │ │ ├── CMakeLists.txt │ │ ├── conanfile.py │ │ └── test_package.cpp ├── .gitattributes ├── .github │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE │ │ ├── bug_report.md │ │ └── feature_request.md │ └── pull_request_template.md ├── .gitignore ├── .travis.yml ├── CMake │ ├── Catch2Config.cmake.in │ ├── FindGcov.cmake │ ├── FindLcov.cmake │ ├── Findcodecov.cmake │ ├── MiscFunctions.cmake │ ├── catch2.pc.in │ └── llvm-cov-wrapper ├── CMakeLists.txt ├── CODE_OF_CONDUCT.md ├── LICENSE.txt ├── README.md ├── appveyor.yml ├── artwork │ ├── catch2-c-logo.png │ ├── catch2-hand-logo.png │ └── catch2-logo-small.png ├── codecov.yml ├── conanfile.py ├── contrib │ ├── Catch.cmake │ ├── CatchAddTests.cmake │ ├── ParseAndAddCatchTests.cmake │ ├── gdbinit │ └── lldbinit ├── docs │ ├── Readme.md │ ├── assertions.md │ ├── benchmarks.md │ ├── ci-and-misc.md │ ├── cmake-integration.md │ ├── command-line.md │ ├── commercial-users.md │ ├── configuration.md │ ├── contributing.md │ ├── deprecations.md │ ├── event-listeners.md │ ├── generators.md │ ├── limitations.md │ ├── list-of-examples.md │ ├── logging.md │ ├── matchers.md │ ├── opensource-users.md │ ├── other-macros.md │ ├── own-main.md │ ├── release-notes.md │ ├── release-process.md │ ├── reporters.md │ ├── slow-compiles.md │ ├── test-cases-and-sections.md │ ├── test-fixtures.md │ ├── tostring.md │ ├── tutorial.md │ └── why-catch.md ├── examples │ ├── 000-CatchMain.cpp │ ├── 010-TestCase.cpp │ ├── 020-TestCase-1.cpp │ ├── 020-TestCase-2.cpp │ ├── 030-Asn-Require-Check.cpp │ ├── 100-Fix-Section.cpp │ ├── 110-Fix-ClassFixture.cpp │ ├── 120-Bdd-ScenarioGivenWhenThen.cpp │ ├── 200-Rpt-CatchMain.cpp │ ├── 207-Rpt-TeamCityReporter.cpp │ ├── 210-Evt-EventListeners.cpp │ ├── 231-Cfg-OutputStreams.cpp │ ├── 300-Gen-OwnGenerator.cpp │ ├── 301-Gen-MapTypeConversion.cpp │ ├── 310-Gen-VariablesInGenerators.cpp │ ├── 311-Gen-CustomCapture.cpp │ └── CMakeLists.txt ├── include │ ├── catch.hpp │ ├── catch_with_main.hpp │ ├── external │ │ └── clara.hpp │ ├── internal │ │ ├── benchmark │ │ │ ├── catch_benchmark.hpp │ │ │ ├── catch_chronometer.hpp │ │ │ ├── catch_clock.hpp │ │ │ ├── catch_constructor.hpp │ │ │ ├── catch_environment.hpp │ │ │ ├── catch_estimate.hpp │ │ │ ├── catch_execution_plan.hpp │ │ │ ├── catch_optimizer.hpp │ │ │ ├── catch_outlier_classification.hpp │ │ │ ├── catch_sample_analysis.hpp │ │ │ └── detail │ │ │ │ ├── catch_analyse.hpp │ │ │ │ ├── catch_benchmark_function.hpp │ │ │ │ ├── catch_complete_invoke.hpp │ │ │ │ ├── catch_estimate_clock.hpp │ │ │ │ ├── catch_measure.hpp │ │ │ │ ├── catch_repeat.hpp │ │ │ │ ├── catch_run_for_at_least.hpp │ │ │ │ ├── catch_stats.cpp │ │ │ │ ├── catch_stats.hpp │ │ │ │ └── catch_timing.hpp │ │ ├── catch_approx.cpp │ │ ├── catch_approx.h │ │ ├── catch_assertionhandler.cpp │ │ ├── catch_assertionhandler.h │ │ ├── catch_assertioninfo.h │ │ ├── catch_assertionresult.cpp │ │ ├── catch_assertionresult.h │ │ ├── catch_capture.hpp │ │ ├── catch_capture_matchers.cpp │ │ ├── catch_capture_matchers.h │ │ ├── catch_clara.h │ │ ├── catch_commandline.cpp │ │ ├── catch_commandline.h │ │ ├── catch_common.cpp │ │ ├── catch_common.h │ │ ├── catch_compiler_capabilities.h │ │ ├── catch_config.cpp │ │ ├── catch_config.hpp │ │ ├── catch_console_colour.cpp │ │ ├── catch_console_colour.h │ │ ├── catch_context.cpp │ │ ├── catch_context.h │ │ ├── catch_debug_console.cpp │ │ ├── catch_debug_console.h │ │ ├── catch_debugger.cpp │ │ ├── catch_debugger.h │ │ ├── catch_decomposer.cpp │ │ ├── catch_decomposer.h │ │ ├── catch_default_main.hpp │ │ ├── catch_enforce.cpp │ │ ├── catch_enforce.h │ │ ├── catch_enum_values_registry.cpp │ │ ├── catch_enum_values_registry.h │ │ ├── catch_errno_guard.cpp │ │ ├── catch_errno_guard.h │ │ ├── catch_exception_translator_registry.cpp │ │ ├── catch_exception_translator_registry.h │ │ ├── catch_external_interfaces.h │ │ ├── catch_fatal_condition.cpp │ │ ├── catch_fatal_condition.h │ │ ├── catch_generators.cpp │ │ ├── catch_generators.hpp │ │ ├── catch_generators_generic.hpp │ │ ├── catch_generators_specific.hpp │ │ ├── catch_impl.hpp │ │ ├── catch_interfaces_capture.cpp │ │ ├── catch_interfaces_capture.h │ │ ├── catch_interfaces_config.cpp │ │ ├── catch_interfaces_config.h │ │ ├── catch_interfaces_enum_values_registry.h │ │ ├── catch_interfaces_exception.cpp │ │ ├── catch_interfaces_exception.h │ │ ├── catch_interfaces_generatortracker.h │ │ ├── catch_interfaces_registry_hub.cpp │ │ ├── catch_interfaces_registry_hub.h │ │ ├── catch_interfaces_reporter.cpp │ │ ├── catch_interfaces_reporter.h │ │ ├── catch_interfaces_runner.cpp │ │ ├── catch_interfaces_runner.h │ │ ├── catch_interfaces_tag_alias_registry.h │ │ ├── catch_interfaces_testcase.cpp │ │ ├── catch_interfaces_testcase.h │ │ ├── catch_leak_detector.cpp │ │ ├── catch_leak_detector.h │ │ ├── catch_list.cpp │ │ ├── catch_list.h │ │ ├── catch_matchers.cpp │ │ ├── catch_matchers.h │ │ ├── catch_matchers_floating.cpp │ │ ├── catch_matchers_floating.h │ │ ├── catch_matchers_generic.cpp │ │ ├── catch_matchers_generic.hpp │ │ ├── catch_matchers_string.cpp │ │ ├── catch_matchers_string.h │ │ ├── catch_matchers_vector.h │ │ ├── catch_message.cpp │ │ ├── catch_message.h │ │ ├── catch_meta.hpp │ │ ├── catch_objc.hpp │ │ ├── catch_objc_arc.hpp │ │ ├── catch_option.hpp │ │ ├── catch_output_redirect.cpp │ │ ├── catch_output_redirect.h │ │ ├── catch_platform.h │ │ ├── catch_polyfills.cpp │ │ ├── catch_polyfills.hpp │ │ ├── catch_preprocessor.hpp │ │ ├── catch_random_number_generator.cpp │ │ ├── catch_random_number_generator.h │ │ ├── catch_reenable_warnings.h │ │ ├── catch_registry_hub.cpp │ │ ├── catch_reporter_registrars.hpp │ │ ├── catch_reporter_registry.cpp │ │ ├── catch_reporter_registry.h │ │ ├── catch_result_type.cpp │ │ ├── catch_result_type.h │ │ ├── catch_run_context.cpp │ │ ├── catch_run_context.h │ │ ├── catch_section.cpp │ │ ├── catch_section.h │ │ ├── catch_section_info.cpp │ │ ├── catch_section_info.h │ │ ├── catch_session.cpp │ │ ├── catch_session.h │ │ ├── catch_singletons.cpp │ │ ├── catch_singletons.hpp │ │ ├── catch_startup_exception_registry.cpp │ │ ├── catch_startup_exception_registry.h │ │ ├── catch_stream.cpp │ │ ├── catch_stream.h │ │ ├── catch_string_manip.cpp │ │ ├── catch_string_manip.h │ │ ├── catch_stringref.cpp │ │ ├── catch_stringref.h │ │ ├── catch_suppress_warnings.h │ │ ├── catch_tag_alias.cpp │ │ ├── catch_tag_alias.h │ │ ├── catch_tag_alias_autoregistrar.cpp │ │ ├── catch_tag_alias_autoregistrar.h │ │ ├── catch_tag_alias_registry.cpp │ │ ├── catch_tag_alias_registry.h │ │ ├── catch_test_case_info.cpp │ │ ├── catch_test_case_info.h │ │ ├── catch_test_case_registry_impl.cpp │ │ ├── catch_test_case_registry_impl.h │ │ ├── catch_test_case_tracker.cpp │ │ ├── catch_test_case_tracker.h │ │ ├── catch_test_registry.cpp │ │ ├── catch_test_registry.h │ │ ├── catch_test_spec.cpp │ │ ├── catch_test_spec.h │ │ ├── catch_test_spec_parser.cpp │ │ ├── catch_test_spec_parser.h │ │ ├── catch_text.h │ │ ├── catch_timer.cpp │ │ ├── catch_timer.h │ │ ├── catch_to_string.hpp │ │ ├── catch_tostring.cpp │ │ ├── catch_tostring.h │ │ ├── catch_totals.cpp │ │ ├── catch_totals.h │ │ ├── catch_type_traits.hpp │ │ ├── catch_uncaught_exceptions.cpp │ │ ├── catch_uncaught_exceptions.h │ │ ├── catch_user_interfaces.h │ │ ├── catch_version.cpp │ │ ├── catch_version.h │ │ ├── catch_wildcard_pattern.cpp │ │ ├── catch_wildcard_pattern.h │ │ ├── catch_windows_h_proxy.h │ │ ├── catch_xmlwriter.cpp │ │ └── catch_xmlwriter.h │ └── reporters │ │ ├── catch_reporter_automake.hpp │ │ ├── catch_reporter_bases.cpp │ │ ├── catch_reporter_bases.hpp │ │ ├── catch_reporter_compact.cpp │ │ ├── catch_reporter_compact.h │ │ ├── catch_reporter_console.cpp │ │ ├── catch_reporter_console.h │ │ ├── catch_reporter_junit.cpp │ │ ├── catch_reporter_junit.h │ │ ├── catch_reporter_listening.cpp │ │ ├── catch_reporter_listening.h │ │ ├── catch_reporter_tap.hpp │ │ ├── catch_reporter_teamcity.hpp │ │ ├── catch_reporter_xml.cpp │ │ └── catch_reporter_xml.h ├── misc │ ├── CMakeLists.txt │ ├── appveyorBuildConfigurationScript.bat │ ├── appveyorMergeCoverageScript.py │ ├── appveyorTestRunScript.bat │ ├── coverage-helper.cpp │ └── installOpenCppCoverage.ps1 ├── projects │ ├── CMakeLists.txt │ ├── ExtraTests │ │ ├── CMakeLists.txt │ │ ├── ToDo.txt │ │ ├── X01-PrefixedMacros.cpp │ │ ├── X02-DisabledMacros.cpp │ │ ├── X03-DisabledExceptions-DefaultHandler.cpp │ │ ├── X04-DisabledExceptions-CustomHandler.cpp │ │ ├── X10-FallbackStringifier.cpp │ │ ├── X11-DisableStringification.cpp │ │ └── X20-BenchmarkingMacros.cpp │ ├── SelfTest │ │ ├── Baselines │ │ │ ├── automake.std.approved.txt │ │ │ ├── compact.sw.approved.txt │ │ │ ├── console.std.approved.txt │ │ │ ├── console.sw.approved.txt │ │ │ ├── console.swa4.approved.txt │ │ │ ├── junit.sw.approved.txt │ │ │ └── xml.sw.approved.txt │ │ ├── CompileTimePerfTests │ │ │ ├── 10.tests.cpp │ │ │ ├── 100.tests.cpp │ │ │ └── All.tests.cpp │ │ ├── IntrospectiveTests │ │ │ ├── CmdLine.tests.cpp │ │ │ ├── GeneratorsImpl.tests.cpp │ │ │ ├── InternalBenchmark.tests.cpp │ │ │ ├── PartTracker.tests.cpp │ │ │ ├── String.tests.cpp │ │ │ ├── Tag.tests.cpp │ │ │ ├── ToString.tests.cpp │ │ │ └── Xml.tests.cpp │ │ ├── SurrogateCpps │ │ │ ├── catch_console_colour.cpp │ │ │ ├── catch_debugger.cpp │ │ │ ├── catch_interfaces_reporter.cpp │ │ │ ├── catch_option.cpp │ │ │ ├── catch_stream.cpp │ │ │ ├── catch_test_case_tracker.cpp │ │ │ ├── catch_test_spec.cpp │ │ │ └── catch_xmlwriter.cpp │ │ ├── TestMain.cpp │ │ └── UsageTests │ │ │ ├── Approx.tests.cpp │ │ │ ├── BDD.tests.cpp │ │ │ ├── Benchmark.tests.cpp │ │ │ ├── Class.tests.cpp │ │ │ ├── Compilation.tests.cpp │ │ │ ├── Condition.tests.cpp │ │ │ ├── Decomposition.tests.cpp │ │ │ ├── EnumToString.tests.cpp │ │ │ ├── Exception.tests.cpp │ │ │ ├── Generators.tests.cpp │ │ │ ├── Matchers.tests.cpp │ │ │ ├── Message.tests.cpp │ │ │ ├── Misc.tests.cpp │ │ │ ├── ToStringChrono.tests.cpp │ │ │ ├── ToStringGeneral.tests.cpp │ │ │ ├── ToStringOptional.tests.cpp │ │ │ ├── ToStringPair.tests.cpp │ │ │ ├── ToStringTuple.tests.cpp │ │ │ ├── ToStringVariant.tests.cpp │ │ │ ├── ToStringVector.tests.cpp │ │ │ ├── ToStringWhich.tests.cpp │ │ │ ├── Tricky.tests.cpp │ │ │ └── VariadicMacros.tests.cpp │ └── XCode │ │ └── OCTest │ │ ├── OCTest.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ ├── OCTest │ │ ├── CatchOCTestCase.h │ │ ├── CatchOCTestCase.mm │ │ ├── Main.mm │ │ ├── OCTest.1 │ │ ├── OCTest.mm │ │ ├── TestObj.h │ │ └── TestObj.m │ │ └── catch_objc_impl.mm ├── scripts │ ├── approvalTests.py │ ├── approve.py │ ├── benchmarkCompile.py │ ├── benchmarkRunner.py │ ├── developBuild.py │ ├── embed.py │ ├── embedClara.py │ ├── fixWhitespace.py │ ├── generateSingleHeader.py │ ├── majorRelease.py │ ├── minorRelease.py │ ├── patchRelease.py │ ├── releaseCommon.py │ ├── releaseNotes.py │ ├── scriptCommon.py │ ├── updateDocumentToC.py │ └── updateWandbox.py ├── single_include │ └── catch2 │ │ ├── catch.hpp │ │ ├── catch_reporter_automake.hpp │ │ ├── catch_reporter_tap.hpp │ │ └── catch_reporter_teamcity.hpp └── third_party │ └── clara.hpp ├── binary-search-tree ├── .clang_complete ├── .gitignore ├── .gitmodules ├── .travis.yml ├── LICENSE ├── README.md ├── SConstruct ├── benchmark │ └── benchmark_bst.cpp ├── include │ └── binary_search_tree.hpp ├── test │ ├── .gitignore │ └── test_binary_search_tree.cpp └── vendor │ └── Catch2 │ ├── .conan │ ├── build.py │ └── test_package │ │ ├── CMakeLists.txt │ │ ├── conanfile.py │ │ └── test_package.cpp │ ├── .gitattributes │ ├── .github │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE │ │ ├── bug_report.md │ │ └── feature_request.md │ └── pull_request_template.md │ ├── .gitignore │ ├── .travis.yml │ ├── CMake │ ├── Catch2Config.cmake.in │ ├── FindGcov.cmake │ ├── FindLcov.cmake │ ├── Findcodecov.cmake │ ├── MiscFunctions.cmake │ ├── catch2.pc.in │ └── llvm-cov-wrapper │ ├── CMakeLists.txt │ ├── CODE_OF_CONDUCT.md │ ├── LICENSE.txt │ ├── README.md │ ├── appveyor.yml │ ├── artwork │ ├── catch2-c-logo.png │ ├── catch2-hand-logo.png │ └── catch2-logo-small.png │ ├── codecov.yml │ ├── conanfile.py │ ├── contrib │ ├── Catch.cmake │ ├── CatchAddTests.cmake │ ├── ParseAndAddCatchTests.cmake │ ├── gdbinit │ └── lldbinit │ ├── docs │ ├── Readme.md │ ├── assertions.md │ ├── benchmarks.md │ ├── ci-and-misc.md │ ├── cmake-integration.md │ ├── command-line.md │ ├── commercial-users.md │ ├── configuration.md │ ├── contributing.md │ ├── deprecations.md │ ├── event-listeners.md │ ├── generators.md │ ├── limitations.md │ ├── list-of-examples.md │ ├── logging.md │ ├── matchers.md │ ├── opensource-users.md │ ├── other-macros.md │ ├── own-main.md │ ├── release-notes.md │ ├── release-process.md │ ├── reporters.md │ ├── slow-compiles.md │ ├── test-cases-and-sections.md │ ├── test-fixtures.md │ ├── tostring.md │ ├── tutorial.md │ └── why-catch.md │ ├── examples │ ├── 000-CatchMain.cpp │ ├── 010-TestCase.cpp │ ├── 020-TestCase-1.cpp │ ├── 020-TestCase-2.cpp │ ├── 030-Asn-Require-Check.cpp │ ├── 100-Fix-Section.cpp │ ├── 110-Fix-ClassFixture.cpp │ ├── 120-Bdd-ScenarioGivenWhenThen.cpp │ ├── 200-Rpt-CatchMain.cpp │ ├── 207-Rpt-TeamCityReporter.cpp │ ├── 210-Evt-EventListeners.cpp │ ├── 231-Cfg-OutputStreams.cpp │ ├── 300-Gen-OwnGenerator.cpp │ ├── 301-Gen-MapTypeConversion.cpp │ ├── 310-Gen-VariablesInGenerators.cpp │ ├── 311-Gen-CustomCapture.cpp │ └── CMakeLists.txt │ ├── include │ ├── catch.hpp │ ├── catch_with_main.hpp │ ├── external │ │ └── clara.hpp │ ├── internal │ │ ├── benchmark │ │ │ ├── catch_benchmark.hpp │ │ │ ├── catch_chronometer.hpp │ │ │ ├── catch_clock.hpp │ │ │ ├── catch_constructor.hpp │ │ │ ├── catch_environment.hpp │ │ │ ├── catch_estimate.hpp │ │ │ ├── catch_execution_plan.hpp │ │ │ ├── catch_optimizer.hpp │ │ │ ├── catch_outlier_classification.hpp │ │ │ ├── catch_sample_analysis.hpp │ │ │ └── detail │ │ │ │ ├── catch_analyse.hpp │ │ │ │ ├── catch_benchmark_function.hpp │ │ │ │ ├── catch_complete_invoke.hpp │ │ │ │ ├── catch_estimate_clock.hpp │ │ │ │ ├── catch_measure.hpp │ │ │ │ ├── catch_repeat.hpp │ │ │ │ ├── catch_run_for_at_least.hpp │ │ │ │ ├── catch_stats.cpp │ │ │ │ ├── catch_stats.hpp │ │ │ │ └── catch_timing.hpp │ │ ├── catch_approx.cpp │ │ ├── catch_approx.h │ │ ├── catch_assertionhandler.cpp │ │ ├── catch_assertionhandler.h │ │ ├── catch_assertioninfo.h │ │ ├── catch_assertionresult.cpp │ │ ├── catch_assertionresult.h │ │ ├── catch_capture.hpp │ │ ├── catch_capture_matchers.cpp │ │ ├── catch_capture_matchers.h │ │ ├── catch_clara.h │ │ ├── catch_commandline.cpp │ │ ├── catch_commandline.h │ │ ├── catch_common.cpp │ │ ├── catch_common.h │ │ ├── catch_compiler_capabilities.h │ │ ├── catch_config.cpp │ │ ├── catch_config.hpp │ │ ├── catch_console_colour.cpp │ │ ├── catch_console_colour.h │ │ ├── catch_context.cpp │ │ ├── catch_context.h │ │ ├── catch_debug_console.cpp │ │ ├── catch_debug_console.h │ │ ├── catch_debugger.cpp │ │ ├── catch_debugger.h │ │ ├── catch_decomposer.cpp │ │ ├── catch_decomposer.h │ │ ├── catch_default_main.hpp │ │ ├── catch_enforce.cpp │ │ ├── catch_enforce.h │ │ ├── catch_enum_values_registry.cpp │ │ ├── catch_enum_values_registry.h │ │ ├── catch_errno_guard.cpp │ │ ├── catch_errno_guard.h │ │ ├── catch_exception_translator_registry.cpp │ │ ├── catch_exception_translator_registry.h │ │ ├── catch_external_interfaces.h │ │ ├── catch_fatal_condition.cpp │ │ ├── catch_fatal_condition.h │ │ ├── catch_generators.cpp │ │ ├── catch_generators.hpp │ │ ├── catch_generators_generic.hpp │ │ ├── catch_generators_specific.hpp │ │ ├── catch_impl.hpp │ │ ├── catch_interfaces_capture.cpp │ │ ├── catch_interfaces_capture.h │ │ ├── catch_interfaces_config.cpp │ │ ├── catch_interfaces_config.h │ │ ├── catch_interfaces_enum_values_registry.h │ │ ├── catch_interfaces_exception.cpp │ │ ├── catch_interfaces_exception.h │ │ ├── catch_interfaces_generatortracker.h │ │ ├── catch_interfaces_registry_hub.cpp │ │ ├── catch_interfaces_registry_hub.h │ │ ├── catch_interfaces_reporter.cpp │ │ ├── catch_interfaces_reporter.h │ │ ├── catch_interfaces_runner.cpp │ │ ├── catch_interfaces_runner.h │ │ ├── catch_interfaces_tag_alias_registry.h │ │ ├── catch_interfaces_testcase.cpp │ │ ├── catch_interfaces_testcase.h │ │ ├── catch_leak_detector.cpp │ │ ├── catch_leak_detector.h │ │ ├── catch_list.cpp │ │ ├── catch_list.h │ │ ├── catch_matchers.cpp │ │ ├── catch_matchers.h │ │ ├── catch_matchers_floating.cpp │ │ ├── catch_matchers_floating.h │ │ ├── catch_matchers_generic.cpp │ │ ├── catch_matchers_generic.hpp │ │ ├── catch_matchers_string.cpp │ │ ├── catch_matchers_string.h │ │ ├── catch_matchers_vector.h │ │ ├── catch_message.cpp │ │ ├── catch_message.h │ │ ├── catch_meta.hpp │ │ ├── catch_objc.hpp │ │ ├── catch_objc_arc.hpp │ │ ├── catch_option.hpp │ │ ├── catch_output_redirect.cpp │ │ ├── catch_output_redirect.h │ │ ├── catch_platform.h │ │ ├── catch_polyfills.cpp │ │ ├── catch_polyfills.hpp │ │ ├── catch_preprocessor.hpp │ │ ├── catch_random_number_generator.cpp │ │ ├── catch_random_number_generator.h │ │ ├── catch_reenable_warnings.h │ │ ├── catch_registry_hub.cpp │ │ ├── catch_reporter_registrars.hpp │ │ ├── catch_reporter_registry.cpp │ │ ├── catch_reporter_registry.h │ │ ├── catch_result_type.cpp │ │ ├── catch_result_type.h │ │ ├── catch_run_context.cpp │ │ ├── catch_run_context.h │ │ ├── catch_section.cpp │ │ ├── catch_section.h │ │ ├── catch_section_info.cpp │ │ ├── catch_section_info.h │ │ ├── catch_session.cpp │ │ ├── catch_session.h │ │ ├── catch_singletons.cpp │ │ ├── catch_singletons.hpp │ │ ├── catch_startup_exception_registry.cpp │ │ ├── catch_startup_exception_registry.h │ │ ├── catch_stream.cpp │ │ ├── catch_stream.h │ │ ├── catch_string_manip.cpp │ │ ├── catch_string_manip.h │ │ ├── catch_stringref.cpp │ │ ├── catch_stringref.h │ │ ├── catch_suppress_warnings.h │ │ ├── catch_tag_alias.cpp │ │ ├── catch_tag_alias.h │ │ ├── catch_tag_alias_autoregistrar.cpp │ │ ├── catch_tag_alias_autoregistrar.h │ │ ├── catch_tag_alias_registry.cpp │ │ ├── catch_tag_alias_registry.h │ │ ├── catch_test_case_info.cpp │ │ ├── catch_test_case_info.h │ │ ├── catch_test_case_registry_impl.cpp │ │ ├── catch_test_case_registry_impl.h │ │ ├── catch_test_case_tracker.cpp │ │ ├── catch_test_case_tracker.h │ │ ├── catch_test_registry.cpp │ │ ├── catch_test_registry.h │ │ ├── catch_test_spec.cpp │ │ ├── catch_test_spec.h │ │ ├── catch_test_spec_parser.cpp │ │ ├── catch_test_spec_parser.h │ │ ├── catch_text.h │ │ ├── catch_timer.cpp │ │ ├── catch_timer.h │ │ ├── catch_to_string.hpp │ │ ├── catch_tostring.cpp │ │ ├── catch_tostring.h │ │ ├── catch_totals.cpp │ │ ├── catch_totals.h │ │ ├── catch_type_traits.hpp │ │ ├── catch_uncaught_exceptions.cpp │ │ ├── catch_uncaught_exceptions.h │ │ ├── catch_user_interfaces.h │ │ ├── catch_version.cpp │ │ ├── catch_version.h │ │ ├── catch_wildcard_pattern.cpp │ │ ├── catch_wildcard_pattern.h │ │ ├── catch_windows_h_proxy.h │ │ ├── catch_xmlwriter.cpp │ │ └── catch_xmlwriter.h │ └── reporters │ │ ├── catch_reporter_automake.hpp │ │ ├── catch_reporter_bases.cpp │ │ ├── catch_reporter_bases.hpp │ │ ├── catch_reporter_compact.cpp │ │ ├── catch_reporter_compact.h │ │ ├── catch_reporter_console.cpp │ │ ├── catch_reporter_console.h │ │ ├── catch_reporter_junit.cpp │ │ ├── catch_reporter_junit.h │ │ ├── catch_reporter_listening.cpp │ │ ├── catch_reporter_listening.h │ │ ├── catch_reporter_tap.hpp │ │ ├── catch_reporter_teamcity.hpp │ │ ├── catch_reporter_xml.cpp │ │ └── catch_reporter_xml.h │ ├── misc │ ├── CMakeLists.txt │ ├── appveyorBuildConfigurationScript.bat │ ├── appveyorMergeCoverageScript.py │ ├── appveyorTestRunScript.bat │ ├── coverage-helper.cpp │ └── installOpenCppCoverage.ps1 │ ├── projects │ ├── CMakeLists.txt │ ├── ExtraTests │ │ ├── CMakeLists.txt │ │ ├── ToDo.txt │ │ ├── X01-PrefixedMacros.cpp │ │ ├── X02-DisabledMacros.cpp │ │ ├── X03-DisabledExceptions-DefaultHandler.cpp │ │ ├── X04-DisabledExceptions-CustomHandler.cpp │ │ ├── X10-FallbackStringifier.cpp │ │ ├── X11-DisableStringification.cpp │ │ └── X20-BenchmarkingMacros.cpp │ ├── SelfTest │ │ ├── Baselines │ │ │ ├── automake.std.approved.txt │ │ │ ├── compact.sw.approved.txt │ │ │ ├── console.std.approved.txt │ │ │ ├── console.sw.approved.txt │ │ │ ├── console.swa4.approved.txt │ │ │ ├── junit.sw.approved.txt │ │ │ └── xml.sw.approved.txt │ │ ├── CompileTimePerfTests │ │ │ ├── 10.tests.cpp │ │ │ ├── 100.tests.cpp │ │ │ └── All.tests.cpp │ │ ├── IntrospectiveTests │ │ │ ├── CmdLine.tests.cpp │ │ │ ├── GeneratorsImpl.tests.cpp │ │ │ ├── InternalBenchmark.tests.cpp │ │ │ ├── PartTracker.tests.cpp │ │ │ ├── String.tests.cpp │ │ │ ├── Tag.tests.cpp │ │ │ ├── ToString.tests.cpp │ │ │ └── Xml.tests.cpp │ │ ├── SurrogateCpps │ │ │ ├── catch_console_colour.cpp │ │ │ ├── catch_debugger.cpp │ │ │ ├── catch_interfaces_reporter.cpp │ │ │ ├── catch_option.cpp │ │ │ ├── catch_stream.cpp │ │ │ ├── catch_test_case_tracker.cpp │ │ │ ├── catch_test_spec.cpp │ │ │ └── catch_xmlwriter.cpp │ │ ├── TestMain.cpp │ │ └── UsageTests │ │ │ ├── Approx.tests.cpp │ │ │ ├── BDD.tests.cpp │ │ │ ├── Benchmark.tests.cpp │ │ │ ├── Class.tests.cpp │ │ │ ├── Compilation.tests.cpp │ │ │ ├── Condition.tests.cpp │ │ │ ├── Decomposition.tests.cpp │ │ │ ├── EnumToString.tests.cpp │ │ │ ├── Exception.tests.cpp │ │ │ ├── Generators.tests.cpp │ │ │ ├── Matchers.tests.cpp │ │ │ ├── Message.tests.cpp │ │ │ ├── Misc.tests.cpp │ │ │ ├── ToStringChrono.tests.cpp │ │ │ ├── ToStringGeneral.tests.cpp │ │ │ ├── ToStringOptional.tests.cpp │ │ │ ├── ToStringPair.tests.cpp │ │ │ ├── ToStringTuple.tests.cpp │ │ │ ├── ToStringVariant.tests.cpp │ │ │ ├── ToStringVector.tests.cpp │ │ │ ├── ToStringWhich.tests.cpp │ │ │ ├── Tricky.tests.cpp │ │ │ └── VariadicMacros.tests.cpp │ └── XCode │ │ └── OCTest │ │ ├── OCTest.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ ├── OCTest │ │ ├── CatchOCTestCase.h │ │ ├── CatchOCTestCase.mm │ │ ├── Main.mm │ │ ├── OCTest.1 │ │ ├── OCTest.mm │ │ ├── TestObj.h │ │ └── TestObj.m │ │ └── catch_objc_impl.mm │ ├── scripts │ ├── approvalTests.py │ ├── approve.py │ ├── benchmarkCompile.py │ ├── benchmarkRunner.py │ ├── developBuild.py │ ├── embed.py │ ├── embedClara.py │ ├── fixWhitespace.py │ ├── generateSingleHeader.py │ ├── majorRelease.py │ ├── minorRelease.py │ ├── patchRelease.py │ ├── releaseCommon.py │ ├── releaseNotes.py │ ├── scriptCommon.py │ ├── updateDocumentToC.py │ └── updateWandbox.py │ ├── single_include │ └── catch2 │ │ ├── catch.hpp │ │ ├── catch_reporter_automake.hpp │ │ ├── catch_reporter_tap.hpp │ │ └── catch_reporter_teamcity.hpp │ └── third_party │ └── clara.hpp ├── cpptqdm ├── LICENSE ├── README.md ├── include │ └── tqdm.hpp └── test.cpp ├── doubly-linked-list ├── .clang_complete ├── .gitignore ├── .gitmodules ├── .travis.yml ├── LICENSE ├── README.md ├── SConstruct ├── benchmark │ └── benchmark_dll.cpp ├── include │ └── doubly_linked_list.hpp ├── test │ ├── .gitignore │ └── test_doubly_linked_list.cpp └── vendor │ └── Catch2 │ ├── .conan │ ├── build.py │ └── test_package │ │ ├── CMakeLists.txt │ │ ├── conanfile.py │ │ └── test_package.cpp │ ├── .gitattributes │ ├── .github │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE │ │ ├── bug_report.md │ │ └── feature_request.md │ └── pull_request_template.md │ ├── .gitignore │ ├── .travis.yml │ ├── CMake │ ├── Catch2Config.cmake.in │ ├── FindGcov.cmake │ ├── FindLcov.cmake │ ├── Findcodecov.cmake │ ├── MiscFunctions.cmake │ ├── catch2.pc.in │ └── llvm-cov-wrapper │ ├── CMakeLists.txt │ ├── CODE_OF_CONDUCT.md │ ├── LICENSE.txt │ ├── README.md │ ├── appveyor.yml │ ├── artwork │ ├── catch2-c-logo.png │ ├── catch2-hand-logo.png │ └── catch2-logo-small.png │ ├── codecov.yml │ ├── conanfile.py │ ├── contrib │ ├── Catch.cmake │ ├── CatchAddTests.cmake │ ├── ParseAndAddCatchTests.cmake │ ├── gdbinit │ └── lldbinit │ ├── docs │ ├── Readme.md │ ├── assertions.md │ ├── benchmarks.md │ ├── ci-and-misc.md │ ├── cmake-integration.md │ ├── command-line.md │ ├── commercial-users.md │ ├── configuration.md │ ├── contributing.md │ ├── deprecations.md │ ├── event-listeners.md │ ├── generators.md │ ├── limitations.md │ ├── list-of-examples.md │ ├── logging.md │ ├── matchers.md │ ├── opensource-users.md │ ├── other-macros.md │ ├── own-main.md │ ├── release-notes.md │ ├── release-process.md │ ├── reporters.md │ ├── slow-compiles.md │ ├── test-cases-and-sections.md │ ├── test-fixtures.md │ ├── tostring.md │ ├── tutorial.md │ └── why-catch.md │ ├── examples │ ├── 000-CatchMain.cpp │ ├── 010-TestCase.cpp │ ├── 020-TestCase-1.cpp │ ├── 020-TestCase-2.cpp │ ├── 030-Asn-Require-Check.cpp │ ├── 100-Fix-Section.cpp │ ├── 110-Fix-ClassFixture.cpp │ ├── 120-Bdd-ScenarioGivenWhenThen.cpp │ ├── 200-Rpt-CatchMain.cpp │ ├── 207-Rpt-TeamCityReporter.cpp │ ├── 210-Evt-EventListeners.cpp │ ├── 231-Cfg-OutputStreams.cpp │ ├── 300-Gen-OwnGenerator.cpp │ ├── 301-Gen-MapTypeConversion.cpp │ ├── 310-Gen-VariablesInGenerators.cpp │ ├── 311-Gen-CustomCapture.cpp │ └── CMakeLists.txt │ ├── include │ ├── catch.hpp │ ├── catch_with_main.hpp │ ├── external │ │ └── clara.hpp │ ├── internal │ │ ├── benchmark │ │ │ ├── catch_benchmark.hpp │ │ │ ├── catch_chronometer.hpp │ │ │ ├── catch_clock.hpp │ │ │ ├── catch_constructor.hpp │ │ │ ├── catch_environment.hpp │ │ │ ├── catch_estimate.hpp │ │ │ ├── catch_execution_plan.hpp │ │ │ ├── catch_optimizer.hpp │ │ │ ├── catch_outlier_classification.hpp │ │ │ ├── catch_sample_analysis.hpp │ │ │ └── detail │ │ │ │ ├── catch_analyse.hpp │ │ │ │ ├── catch_benchmark_function.hpp │ │ │ │ ├── catch_complete_invoke.hpp │ │ │ │ ├── catch_estimate_clock.hpp │ │ │ │ ├── catch_measure.hpp │ │ │ │ ├── catch_repeat.hpp │ │ │ │ ├── catch_run_for_at_least.hpp │ │ │ │ ├── catch_stats.cpp │ │ │ │ ├── catch_stats.hpp │ │ │ │ └── catch_timing.hpp │ │ ├── catch_approx.cpp │ │ ├── catch_approx.h │ │ ├── catch_assertionhandler.cpp │ │ ├── catch_assertionhandler.h │ │ ├── catch_assertioninfo.h │ │ ├── catch_assertionresult.cpp │ │ ├── catch_assertionresult.h │ │ ├── catch_capture.hpp │ │ ├── catch_capture_matchers.cpp │ │ ├── catch_capture_matchers.h │ │ ├── catch_clara.h │ │ ├── catch_commandline.cpp │ │ ├── catch_commandline.h │ │ ├── catch_common.cpp │ │ ├── catch_common.h │ │ ├── catch_compiler_capabilities.h │ │ ├── catch_config.cpp │ │ ├── catch_config.hpp │ │ ├── catch_console_colour.cpp │ │ ├── catch_console_colour.h │ │ ├── catch_context.cpp │ │ ├── catch_context.h │ │ ├── catch_debug_console.cpp │ │ ├── catch_debug_console.h │ │ ├── catch_debugger.cpp │ │ ├── catch_debugger.h │ │ ├── catch_decomposer.cpp │ │ ├── catch_decomposer.h │ │ ├── catch_default_main.hpp │ │ ├── catch_enforce.cpp │ │ ├── catch_enforce.h │ │ ├── catch_enum_values_registry.cpp │ │ ├── catch_enum_values_registry.h │ │ ├── catch_errno_guard.cpp │ │ ├── catch_errno_guard.h │ │ ├── catch_exception_translator_registry.cpp │ │ ├── catch_exception_translator_registry.h │ │ ├── catch_external_interfaces.h │ │ ├── catch_fatal_condition.cpp │ │ ├── catch_fatal_condition.h │ │ ├── catch_generators.cpp │ │ ├── catch_generators.hpp │ │ ├── catch_generators_generic.hpp │ │ ├── catch_generators_specific.hpp │ │ ├── catch_impl.hpp │ │ ├── catch_interfaces_capture.cpp │ │ ├── catch_interfaces_capture.h │ │ ├── catch_interfaces_config.cpp │ │ ├── catch_interfaces_config.h │ │ ├── catch_interfaces_enum_values_registry.h │ │ ├── catch_interfaces_exception.cpp │ │ ├── catch_interfaces_exception.h │ │ ├── catch_interfaces_generatortracker.h │ │ ├── catch_interfaces_registry_hub.cpp │ │ ├── catch_interfaces_registry_hub.h │ │ ├── catch_interfaces_reporter.cpp │ │ ├── catch_interfaces_reporter.h │ │ ├── catch_interfaces_runner.cpp │ │ ├── catch_interfaces_runner.h │ │ ├── catch_interfaces_tag_alias_registry.h │ │ ├── catch_interfaces_testcase.cpp │ │ ├── catch_interfaces_testcase.h │ │ ├── catch_leak_detector.cpp │ │ ├── catch_leak_detector.h │ │ ├── catch_list.cpp │ │ ├── catch_list.h │ │ ├── catch_matchers.cpp │ │ ├── catch_matchers.h │ │ ├── catch_matchers_floating.cpp │ │ ├── catch_matchers_floating.h │ │ ├── catch_matchers_generic.cpp │ │ ├── catch_matchers_generic.hpp │ │ ├── catch_matchers_string.cpp │ │ ├── catch_matchers_string.h │ │ ├── catch_matchers_vector.h │ │ ├── catch_message.cpp │ │ ├── catch_message.h │ │ ├── catch_meta.hpp │ │ ├── catch_objc.hpp │ │ ├── catch_objc_arc.hpp │ │ ├── catch_option.hpp │ │ ├── catch_output_redirect.cpp │ │ ├── catch_output_redirect.h │ │ ├── catch_platform.h │ │ ├── catch_polyfills.cpp │ │ ├── catch_polyfills.hpp │ │ ├── catch_preprocessor.hpp │ │ ├── catch_random_number_generator.cpp │ │ ├── catch_random_number_generator.h │ │ ├── catch_reenable_warnings.h │ │ ├── catch_registry_hub.cpp │ │ ├── catch_reporter_registrars.hpp │ │ ├── catch_reporter_registry.cpp │ │ ├── catch_reporter_registry.h │ │ ├── catch_result_type.cpp │ │ ├── catch_result_type.h │ │ ├── catch_run_context.cpp │ │ ├── catch_run_context.h │ │ ├── catch_section.cpp │ │ ├── catch_section.h │ │ ├── catch_section_info.cpp │ │ ├── catch_section_info.h │ │ ├── catch_session.cpp │ │ ├── catch_session.h │ │ ├── catch_singletons.cpp │ │ ├── catch_singletons.hpp │ │ ├── catch_startup_exception_registry.cpp │ │ ├── catch_startup_exception_registry.h │ │ ├── catch_stream.cpp │ │ ├── catch_stream.h │ │ ├── catch_string_manip.cpp │ │ ├── catch_string_manip.h │ │ ├── catch_stringref.cpp │ │ ├── catch_stringref.h │ │ ├── catch_suppress_warnings.h │ │ ├── catch_tag_alias.cpp │ │ ├── catch_tag_alias.h │ │ ├── catch_tag_alias_autoregistrar.cpp │ │ ├── catch_tag_alias_autoregistrar.h │ │ ├── catch_tag_alias_registry.cpp │ │ ├── catch_tag_alias_registry.h │ │ ├── catch_test_case_info.cpp │ │ ├── catch_test_case_info.h │ │ ├── catch_test_case_registry_impl.cpp │ │ ├── catch_test_case_registry_impl.h │ │ ├── catch_test_case_tracker.cpp │ │ ├── catch_test_case_tracker.h │ │ ├── catch_test_registry.cpp │ │ ├── catch_test_registry.h │ │ ├── catch_test_spec.cpp │ │ ├── catch_test_spec.h │ │ ├── catch_test_spec_parser.cpp │ │ ├── catch_test_spec_parser.h │ │ ├── catch_text.h │ │ ├── catch_timer.cpp │ │ ├── catch_timer.h │ │ ├── catch_to_string.hpp │ │ ├── catch_tostring.cpp │ │ ├── catch_tostring.h │ │ ├── catch_totals.cpp │ │ ├── catch_totals.h │ │ ├── catch_type_traits.hpp │ │ ├── catch_uncaught_exceptions.cpp │ │ ├── catch_uncaught_exceptions.h │ │ ├── catch_user_interfaces.h │ │ ├── catch_version.cpp │ │ ├── catch_version.h │ │ ├── catch_wildcard_pattern.cpp │ │ ├── catch_wildcard_pattern.h │ │ ├── catch_windows_h_proxy.h │ │ ├── catch_xmlwriter.cpp │ │ └── catch_xmlwriter.h │ └── reporters │ │ ├── catch_reporter_automake.hpp │ │ ├── catch_reporter_bases.cpp │ │ ├── catch_reporter_bases.hpp │ │ ├── catch_reporter_compact.cpp │ │ ├── catch_reporter_compact.h │ │ ├── catch_reporter_console.cpp │ │ ├── catch_reporter_console.h │ │ ├── catch_reporter_junit.cpp │ │ ├── catch_reporter_junit.h │ │ ├── catch_reporter_listening.cpp │ │ ├── catch_reporter_listening.h │ │ ├── catch_reporter_tap.hpp │ │ ├── catch_reporter_teamcity.hpp │ │ ├── catch_reporter_xml.cpp │ │ └── catch_reporter_xml.h │ ├── misc │ ├── CMakeLists.txt │ ├── appveyorBuildConfigurationScript.bat │ ├── appveyorMergeCoverageScript.py │ ├── appveyorTestRunScript.bat │ ├── coverage-helper.cpp │ └── installOpenCppCoverage.ps1 │ ├── projects │ ├── CMakeLists.txt │ ├── ExtraTests │ │ ├── CMakeLists.txt │ │ ├── ToDo.txt │ │ ├── X01-PrefixedMacros.cpp │ │ ├── X02-DisabledMacros.cpp │ │ ├── X03-DisabledExceptions-DefaultHandler.cpp │ │ ├── X04-DisabledExceptions-CustomHandler.cpp │ │ ├── X10-FallbackStringifier.cpp │ │ ├── X11-DisableStringification.cpp │ │ └── X20-BenchmarkingMacros.cpp │ ├── SelfTest │ │ ├── Baselines │ │ │ ├── automake.std.approved.txt │ │ │ ├── compact.sw.approved.txt │ │ │ ├── console.std.approved.txt │ │ │ ├── console.sw.approved.txt │ │ │ ├── console.swa4.approved.txt │ │ │ ├── junit.sw.approved.txt │ │ │ └── xml.sw.approved.txt │ │ ├── CompileTimePerfTests │ │ │ ├── 10.tests.cpp │ │ │ ├── 100.tests.cpp │ │ │ └── All.tests.cpp │ │ ├── IntrospectiveTests │ │ │ ├── CmdLine.tests.cpp │ │ │ ├── GeneratorsImpl.tests.cpp │ │ │ ├── InternalBenchmark.tests.cpp │ │ │ ├── PartTracker.tests.cpp │ │ │ ├── String.tests.cpp │ │ │ ├── Tag.tests.cpp │ │ │ ├── ToString.tests.cpp │ │ │ └── Xml.tests.cpp │ │ ├── SurrogateCpps │ │ │ ├── catch_console_colour.cpp │ │ │ ├── catch_debugger.cpp │ │ │ ├── catch_interfaces_reporter.cpp │ │ │ ├── catch_option.cpp │ │ │ ├── catch_stream.cpp │ │ │ ├── catch_test_case_tracker.cpp │ │ │ ├── catch_test_spec.cpp │ │ │ └── catch_xmlwriter.cpp │ │ ├── TestMain.cpp │ │ └── UsageTests │ │ │ ├── Approx.tests.cpp │ │ │ ├── BDD.tests.cpp │ │ │ ├── Benchmark.tests.cpp │ │ │ ├── Class.tests.cpp │ │ │ ├── Compilation.tests.cpp │ │ │ ├── Condition.tests.cpp │ │ │ ├── Decomposition.tests.cpp │ │ │ ├── EnumToString.tests.cpp │ │ │ ├── Exception.tests.cpp │ │ │ ├── Generators.tests.cpp │ │ │ ├── Matchers.tests.cpp │ │ │ ├── Message.tests.cpp │ │ │ ├── Misc.tests.cpp │ │ │ ├── ToStringChrono.tests.cpp │ │ │ ├── ToStringGeneral.tests.cpp │ │ │ ├── ToStringOptional.tests.cpp │ │ │ ├── ToStringPair.tests.cpp │ │ │ ├── ToStringTuple.tests.cpp │ │ │ ├── ToStringVariant.tests.cpp │ │ │ ├── ToStringVector.tests.cpp │ │ │ ├── ToStringWhich.tests.cpp │ │ │ ├── Tricky.tests.cpp │ │ │ └── VariadicMacros.tests.cpp │ └── XCode │ │ └── OCTest │ │ ├── OCTest.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ ├── OCTest │ │ ├── CatchOCTestCase.h │ │ ├── CatchOCTestCase.mm │ │ ├── Main.mm │ │ ├── OCTest.1 │ │ ├── OCTest.mm │ │ ├── TestObj.h │ │ └── TestObj.m │ │ └── catch_objc_impl.mm │ ├── scripts │ ├── approvalTests.py │ ├── approve.py │ ├── benchmarkCompile.py │ ├── benchmarkRunner.py │ ├── developBuild.py │ ├── embed.py │ ├── embedClara.py │ ├── fixWhitespace.py │ ├── generateSingleHeader.py │ ├── majorRelease.py │ ├── minorRelease.py │ ├── patchRelease.py │ ├── releaseCommon.py │ ├── releaseNotes.py │ ├── scriptCommon.py │ ├── updateDocumentToC.py │ └── updateWandbox.py │ ├── single_include │ └── catch2 │ │ ├── catch.hpp │ │ ├── catch_reporter_automake.hpp │ │ ├── catch_reporter_tap.hpp │ │ └── catch_reporter_teamcity.hpp │ └── third_party │ └── clara.hpp ├── hopscotch_map ├── .codecov.yml ├── .travis.yml ├── CMakeLists.txt ├── LICENSE ├── README.md ├── appveyor.yml ├── cmake │ └── tsl-hopscotch-mapConfig.cmake.in ├── doxygen.conf ├── include │ └── tsl │ │ ├── bhopscotch_map.h │ │ ├── bhopscotch_set.h │ │ ├── hopscotch_growth_policy.h │ │ ├── hopscotch_hash.h │ │ ├── hopscotch_map.h │ │ └── hopscotch_set.h ├── tests │ ├── CMakeLists.txt │ ├── custom_allocator_tests.cpp │ ├── hopscotch_map_tests.cpp │ ├── hopscotch_set_tests.cpp │ ├── main.cpp │ ├── policy_tests.cpp │ └── utils.h └── tsl-hopscotch-map.natvis ├── robin-map ├── .codecov.yml ├── .travis.yml ├── CMakeLists.txt ├── LICENSE ├── README.md ├── appveyor.yml ├── cmake │ └── tsl-robin-mapConfig.cmake.in ├── doxygen.conf ├── include │ └── tsl │ │ ├── robin_growth_policy.h │ │ ├── robin_hash.h │ │ ├── robin_map.h │ │ └── robin_set.h ├── tests │ ├── CMakeLists.txt │ ├── custom_allocator_tests.cpp │ ├── main.cpp │ ├── policy_tests.cpp │ ├── robin_map_tests.cpp │ ├── robin_set_tests.cpp │ └── utils.h └── tsl-robin-map.natvis └── sparse-map ├── .codecov.yml ├── .travis.yml ├── CMakeLists.txt ├── LICENSE ├── README.md ├── appveyor.yml ├── cmake └── tsl-sparse-mapConfig.cmake.in ├── doxygen.conf ├── include └── tsl │ ├── sparse_growth_policy.h │ ├── sparse_hash.h │ ├── sparse_map.h │ └── sparse_set.h ├── tests ├── CMakeLists.txt ├── custom_allocator_tests.cpp ├── main.cpp ├── policy_tests.cpp ├── popcount_tests.cpp ├── sparse_map_tests.cpp ├── sparse_set_tests.cpp └── utils.h └── tsl-sparse-map.natvis /.clang_complete: -------------------------------------------------------------------------------- 1 | -Iinclude 2 | -Ivendor/binary-search-tree/include 3 | -Ivendor/Catch2/single_include/catch2 4 | -Ivendor/cpptqdm/include 5 | -Ivendor/doubly-linked-list/include 6 | -Ivendor/hopscotch_map/include 7 | -Ivendor/robin-map/include 8 | -Ivendor/sparse-map/include 9 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | notes/* linguist-vendored 2 | vendor/* linguist-vendored 3 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "vendor/Catch2"] 2 | path = vendor/Catch2 3 | url = https://github.com/catchorg/Catch2 4 | [submodule "vendor/hopscotch_map"] 5 | path = vendor/hopscotch_map 6 | url = https://github.com/Tessil/hopscotch-map 7 | [submodule "vendor/robin-map"] 8 | path = vendor/robin-map 9 | url = https://github.com/Tessil/robin-map 10 | [submodule "vendor/sparse-map"] 11 | path = vendor/sparse-map 12 | url = https://github.com/Tessil/sparse-map 13 | [submodule "vendor/binary-search-tree"] 14 | path = vendor/binary-search-tree 15 | url = https://github.com/Kautenja/binary-search-tree 16 | [submodule "vendor/doubly-linked-list"] 17 | path = vendor/doubly-linked-list 18 | url = https://github.com/Kautenja/doubly-linked-list 19 | [submodule "vendor/cpptqdm"] 20 | path = vendor/cpptqdm 21 | url = https://github.com/Kautenja/cpptqdm 22 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | matrix: 3 | include: 4 | - os: linux 5 | dist: bionic 6 | - os: osx 7 | osx_image: xcode11 8 | - os: osx 9 | osx_image: xcode12 10 | addons: 11 | apt: 12 | packages: 13 | - scons 14 | homebrew: 15 | packages: 16 | - scons 17 | git: 18 | submodules: true 19 | script: 20 | - scons -j2 test 21 | - scons -j2 22 | - python3 -m unittest discover . 23 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | graft include 2 | graft src 3 | graft vendor 4 | -------------------------------------------------------------------------------- /docs/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kautenja/limit-order-book/88416a12a0b34b026cbf1d598823fd315a1f2dbf/docs/bc_s.png -------------------------------------------------------------------------------- /docs/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kautenja/limit-order-book/88416a12a0b34b026cbf1d598823fd315a1f2dbf/docs/bdwn.png -------------------------------------------------------------------------------- /docs/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kautenja/limit-order-book/88416a12a0b34b026cbf1d598823fd315a1f2dbf/docs/closed.png -------------------------------------------------------------------------------- /docs/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kautenja/limit-order-book/88416a12a0b34b026cbf1d598823fd315a1f2dbf/docs/doc.png -------------------------------------------------------------------------------- /docs/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kautenja/limit-order-book/88416a12a0b34b026cbf1d598823fd315a1f2dbf/docs/doxygen.png -------------------------------------------------------------------------------- /docs/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kautenja/limit-order-book/88416a12a0b34b026cbf1d598823fd315a1f2dbf/docs/folderclosed.png -------------------------------------------------------------------------------- /docs/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kautenja/limit-order-book/88416a12a0b34b026cbf1d598823fd315a1f2dbf/docs/folderopen.png -------------------------------------------------------------------------------- /docs/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kautenja/limit-order-book/88416a12a0b34b026cbf1d598823fd315a1f2dbf/docs/nav_f.png -------------------------------------------------------------------------------- /docs/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kautenja/limit-order-book/88416a12a0b34b026cbf1d598823fd315a1f2dbf/docs/nav_g.png -------------------------------------------------------------------------------- /docs/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kautenja/limit-order-book/88416a12a0b34b026cbf1d598823fd315a1f2dbf/docs/nav_h.png -------------------------------------------------------------------------------- /docs/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kautenja/limit-order-book/88416a12a0b34b026cbf1d598823fd315a1f2dbf/docs/open.png -------------------------------------------------------------------------------- /docs/search/all_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['_5f_5fdel_5f_5f_0',['__del__',['../classlimit__order__book_1_1limit__order__book_1_1_limit_order_book.html#af550f359c248a4edc4ad80ba30c2c8b5',1,'limit_order_book::limit_order_book::LimitOrderBook']]], 4 | ['_5f_5finit_5f_5f_1',['__init__',['../classlimit__order__book_1_1library_1_1_library.html#a0968e7b8d94ffbe731bfcc74b6eadc1a',1,'limit_order_book.library.Library.__init__()'],['../classlimit__order__book_1_1limit__order__book_1_1_limit_order_book.html#afe518cd14592d3840e3308be2a3152ec',1,'limit_order_book.limit_order_book.LimitOrderBook.__init__()']]], 5 | ['_5fpadding_2',['_padding',['../struct_l_o_b_1_1_limit.html#abcf0b362b5ae3c20be119d7e18b2a72e',1,'LOB::Limit']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/all_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['find_5fbest_15',['find_best',['../namespace_l_o_b.html#aa79f2b39db1864ddad9806d8112dcdcf',1,'LOB']]], 4 | ['find_5fbest_3c_20side_3a_3abuy_20_3e_16',['find_best< Side::Buy >',['../namespace_l_o_b.html#ad4b24965d7b5b7a42480dd5e2892ba2d',1,'LOB']]], 5 | ['find_5fbest_3c_20side_3a_3asell_20_3e_17',['find_best< Side::Sell >',['../namespace_l_o_b.html#a56acc9c82361400b0e22edde3ff80899',1,'LOB']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/all_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['get_18',['get',['../class_l_o_b_1_1_limit_order_book.html#a47a0fe3f7ac4da1b6ce80e0902ef0473',1,'LOB::LimitOrderBook']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/all_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['has_19',['has',['../class_l_o_b_1_1_limit_order_book.html#a967430745df666a98b00d169bf14cee3',1,'LOB::LimitOrderBook::has()'],['../classlimit__order__book_1_1limit__order__book_1_1_limit_order_book.html#a6c1c9b3080b2c7024d885732faaaf978',1,'limit_order_book.limit_order_book.LimitOrderBook.has()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/all_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['operator_21_41',['operator!',['../namespace_l_o_b.html#a794bbaee01ce7b76040cba9ac684edfb',1,'LOB']]], 4 | ['order_42',['Order',['../struct_l_o_b_1_1_order.html',1,'LOB::Order'],['../struct_l_o_b_1_1_order.html#a6731de6080c369204cb6c3ca7ee13cbf',1,'LOB::Order::Order()'],['../struct_l_o_b_1_1_order.html#ae7106787df2001416575765eaa8236d0',1,'LOB::Order::Order(UID uid_, Side side_, Quantity quantity_, Price price_)']]], 5 | ['order_5fhead_43',['order_head',['../struct_l_o_b_1_1_limit.html#a596cd48cc1faf4f2f2e79f4ae354bdb4',1,'LOB::Limit']]], 6 | ['order_5ftail_44',['order_tail',['../struct_l_o_b_1_1_limit.html#ab2708f69d5bdb44d7d4b2296b02055e1',1,'LOB::Limit']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/all_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['price_45',['price',['../struct_l_o_b_1_1_order.html#a8e5f781012f13a6116c60bb9e8d3fa5f',1,'LOB::Order::price()'],['../class_l_o_b_1_1_limit_order_book.html#acbdb9e8e207eed2924ef09c4b49472a6',1,'LOB::LimitOrderBook::price()'],['../namespace_l_o_b.html#a0170482547b909e8a53b5ae42d18e23a',1,'LOB::Price()']]], 4 | ['pricelimitmap_46',['PriceLimitMap',['../namespace_l_o_b.html#a9f7f6214768b2e1c81ab886241d2075a',1,'LOB']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/all_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['quantity_47',['quantity',['../struct_l_o_b_1_1_order.html#a306f045463a61d710f29d59824b4fa9d',1,'LOB::Order::quantity()'],['../namespace_l_o_b.html#a1d5eee8595d35bc6f2b8372e44cd8dd7',1,'LOB::Quantity()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/all_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['reduce_48',['reduce',['../class_l_o_b_1_1_limit_order_book.html#abbc7458a5a780d29e57122bb4d233db5',1,'LOB::LimitOrderBook']]], 4 | ['root_49',['root',['../struct_l_o_b_1_1_limit_tree.html#a87882ea3591e325656ed24a9ebb638e2',1,'LOB::LimitTree']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/all_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['set_5fbest_50',['set_best',['../namespace_l_o_b.html#a9c1b41f8d06147416dcb43138b2905ae',1,'LOB']]], 4 | ['set_5fbest_3c_20side_3a_3abuy_20_3e_51',['set_best< Side::Buy >',['../namespace_l_o_b.html#a916e380f27d0fd0e1e5f7e9789de786d',1,'LOB']]], 5 | ['set_5fbest_3c_20side_3a_3asell_20_3e_52',['set_best< Side::Sell >',['../namespace_l_o_b.html#a783b0fcf2c6e50dcb08169b0655cad03',1,'LOB']]], 6 | ['side_53',['side',['../struct_l_o_b_1_1_order.html#a958f5a54a613fb012214b71332add261',1,'LOB::Order::side()'],['../namespace_l_o_b.html#ac0757a974349160aa795b45451948db6',1,'LOB::Side()']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/all_d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['uid_54',['uid',['../struct_l_o_b_1_1_order.html#a7287e54cc8ad117cddbeb7b843b29f1b',1,'LOB::Order::uid()'],['../namespace_l_o_b.html#a482ac950a9cb23fdb93c66d6117a8f74',1,'LOB::UID()']]], 4 | ['uidordermap_55',['UIDOrderMap',['../namespace_l_o_b.html#a55b6f5940501ff6a6f8de06dfc18852c',1,'LOB']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/classes_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['library_62',['Library',['../classlimit__order__book_1_1library_1_1_library.html',1,'limit_order_book::library']]], 4 | ['limit_63',['Limit',['../struct_l_o_b_1_1_limit.html',1,'LOB']]], 5 | ['limitorderbook_64',['LimitOrderBook',['../class_l_o_b_1_1_limit_order_book.html',1,'LOB::LimitOrderBook'],['../classlimit__order__book_1_1limit__order__book_1_1_limit_order_book.html',1,'limit_order_book.limit_order_book.LimitOrderBook']]], 6 | ['limittree_65',['LimitTree',['../struct_l_o_b_1_1_limit_tree.html',1,'LOB']]], 7 | ['limittree_3c_20side_3a_3abuy_20_3e_66',['LimitTree< Side::Buy >',['../struct_l_o_b_1_1_limit_tree.html',1,'LOB']]], 8 | ['limittree_3c_20side_3a_3asell_20_3e_67',['LimitTree< Side::Sell >',['../struct_l_o_b_1_1_limit_tree.html',1,'LOB']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /docs/search/classes_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['order_68',['Order',['../struct_l_o_b_1_1_order.html',1,'LOB']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kautenja/limit-order-book/88416a12a0b34b026cbf1d598823fd315a1f2dbf/docs/search/close.png -------------------------------------------------------------------------------- /docs/search/enums_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['side_137',['Side',['../namespace_l_o_b.html#ac0757a974349160aa795b45451948db6',1,'LOB']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/functions_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['_5f_5fdel_5f_5f_72',['__del__',['../classlimit__order__book_1_1limit__order__book_1_1_limit_order_book.html#af550f359c248a4edc4ad80ba30c2c8b5',1,'limit_order_book::limit_order_book::LimitOrderBook']]], 4 | ['_5f_5finit_5f_5f_73',['__init__',['../classlimit__order__book_1_1library_1_1_library.html#a0968e7b8d94ffbe731bfcc74b6eadc1a',1,'limit_order_book.library.Library.__init__()'],['../classlimit__order__book_1_1limit__order__book_1_1_limit_order_book.html#afe518cd14592d3840e3308be2a3152ec',1,'limit_order_book.limit_order_book.LimitOrderBook.__init__()']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/functions_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['best_74',['best',['../class_l_o_b_1_1_limit_order_book.html#a387f091324bb052d38c8532ab508ab7c',1,'LOB::LimitOrderBook::best()'],['../classlimit__order__book_1_1limit__order__book_1_1_limit_order_book.html#ad9175f5a8fa5282e9948ab3f330fb915',1,'limit_order_book.limit_order_book.LimitOrderBook.best()']]], 4 | ['best_5fbuy_75',['best_buy',['../class_l_o_b_1_1_limit_order_book.html#a7b2ad9b29403af9a5079176aefb009ce',1,'LOB::LimitOrderBook::best_buy()'],['../classlimit__order__book_1_1limit__order__book_1_1_limit_order_book.html#a9d5ad9707267c1a44a5c099da871609c',1,'limit_order_book.limit_order_book.LimitOrderBook.best_buy()']]], 5 | ['best_5fsell_76',['best_sell',['../class_l_o_b_1_1_limit_order_book.html#afd8dd7bccdcffee233c780fe445e1c01',1,'LOB::LimitOrderBook::best_sell()'],['../classlimit__order__book_1_1limit__order__book_1_1_limit_order_book.html#ac972e81fd137cb3dd08437c4a99ee1a7',1,'limit_order_book.limit_order_book.LimitOrderBook.best_sell()']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/functions_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['find_5fbest_86',['find_best',['../namespace_l_o_b.html#aa79f2b39db1864ddad9806d8112dcdcf',1,'LOB']]], 4 | ['find_5fbest_3c_20side_3a_3abuy_20_3e_87',['find_best< Side::Buy >',['../namespace_l_o_b.html#ad4b24965d7b5b7a42480dd5e2892ba2d',1,'LOB']]], 5 | ['find_5fbest_3c_20side_3a_3asell_20_3e_88',['find_best< Side::Sell >',['../namespace_l_o_b.html#a56acc9c82361400b0e22edde3ff80899',1,'LOB']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/functions_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['get_89',['get',['../class_l_o_b_1_1_limit_order_book.html#a47a0fe3f7ac4da1b6ce80e0902ef0473',1,'LOB::LimitOrderBook']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/functions_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['has_90',['has',['../class_l_o_b_1_1_limit_order_book.html#a967430745df666a98b00d169bf14cee3',1,'LOB::LimitOrderBook::has()'],['../classlimit__order__book_1_1limit__order__book_1_1_limit_order_book.html#a6c1c9b3080b2c7024d885732faaaf978',1,'limit_order_book.limit_order_book.LimitOrderBook.has()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/functions_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['operator_21_103',['operator!',['../namespace_l_o_b.html#a794bbaee01ce7b76040cba9ac684edfb',1,'LOB']]], 4 | ['order_104',['Order',['../struct_l_o_b_1_1_order.html#a6731de6080c369204cb6c3ca7ee13cbf',1,'LOB::Order::Order()'],['../struct_l_o_b_1_1_order.html#ae7106787df2001416575765eaa8236d0',1,'LOB::Order::Order(UID uid_, Side side_, Quantity quantity_, Price price_)']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/functions_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['price_105',['price',['../class_l_o_b_1_1_limit_order_book.html#acbdb9e8e207eed2924ef09c4b49472a6',1,'LOB::LimitOrderBook']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/functions_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['reduce_106',['reduce',['../class_l_o_b_1_1_limit_order_book.html#abbc7458a5a780d29e57122bb4d233db5',1,'LOB::LimitOrderBook']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/functions_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['set_5fbest_107',['set_best',['../namespace_l_o_b.html#a9c1b41f8d06147416dcb43138b2905ae',1,'LOB']]], 4 | ['set_5fbest_3c_20side_3a_3abuy_20_3e_108',['set_best< Side::Buy >',['../namespace_l_o_b.html#a916e380f27d0fd0e1e5f7e9789de786d',1,'LOB']]], 5 | ['set_5fbest_3c_20side_3a_3asell_20_3e_109',['set_best< Side::Sell >',['../namespace_l_o_b.html#a783b0fcf2c6e50dcb08169b0655cad03',1,'LOB']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/mag_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kautenja/limit-order-book/88416a12a0b34b026cbf1d598823fd315a1f2dbf/docs/search/mag_sel.png -------------------------------------------------------------------------------- /docs/search/namespaces_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['library_69',['library',['../namespacelimit__order__book_1_1library.html',1,'limit_order_book']]], 4 | ['limit_5forder_5fbook_70',['limit_order_book',['../namespacelimit__order__book.html',1,'limit_order_book'],['../namespacelimit__order__book_1_1limit__order__book.html',1,'limit_order_book.limit_order_book']]], 5 | ['lob_71',['LOB',['../namespace_l_o_b.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 |