├── .clang-format ├── .gitmodules ├── .travis.yml ├── CMakeLists.txt ├── LICENSE.md ├── README.md ├── benchmarks ├── generate_benchmark.py ├── run_benchmarks.py └── string_dispatch.cpp.empy ├── cmake ├── petra_add_benchmark.cmake ├── petra_add_executable.cmake └── petra_add_test.cmake ├── examples ├── CMakeLists.txt ├── callback_table.cpp ├── map.cpp ├── sequence_map.cpp ├── sequential_table.cpp ├── string_hash.cpp └── switch_table.cpp ├── include └── petra │ ├── base_table.hpp │ ├── callback_table.hpp │ ├── chd.hpp │ ├── concepts.hpp │ ├── detail │ ├── chd.hpp │ ├── index_map.hpp │ ├── macros.hpp │ ├── string_literal.hpp │ └── switch_table.hpp │ ├── enum_map.hpp │ ├── expected.hpp │ ├── indexed_bases.hpp │ ├── linear_hash.hpp │ ├── map.hpp │ ├── sequence_map.hpp │ ├── sequential_table.hpp │ ├── string_literal.hpp │ ├── string_map.hpp │ ├── switch_table.hpp │ ├── utilities.hpp │ └── utilities │ ├── fold.hpp │ ├── sequence.hpp │ └── tuple.hpp └── test ├── CMakeLists.txt ├── base_table.cpp ├── callback_table.cpp ├── chd.cpp ├── enum_map.cpp ├── exhaustive_string_hash.cpp ├── indexed_bases.cpp ├── linear_hash.cpp ├── map.cpp ├── sequence_map.cpp ├── sequential_table.cpp ├── string_map.cpp ├── switch_table.cpp └── utilities.hpp /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/.clang-format -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/.gitmodules -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/.travis.yml -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/README.md -------------------------------------------------------------------------------- /benchmarks/generate_benchmark.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/benchmarks/generate_benchmark.py -------------------------------------------------------------------------------- /benchmarks/run_benchmarks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/benchmarks/run_benchmarks.py -------------------------------------------------------------------------------- /benchmarks/string_dispatch.cpp.empy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/benchmarks/string_dispatch.cpp.empy -------------------------------------------------------------------------------- /cmake/petra_add_benchmark.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/cmake/petra_add_benchmark.cmake -------------------------------------------------------------------------------- /cmake/petra_add_executable.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/cmake/petra_add_executable.cmake -------------------------------------------------------------------------------- /cmake/petra_add_test.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/cmake/petra_add_test.cmake -------------------------------------------------------------------------------- /examples/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/examples/CMakeLists.txt -------------------------------------------------------------------------------- /examples/callback_table.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/examples/callback_table.cpp -------------------------------------------------------------------------------- /examples/map.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/examples/map.cpp -------------------------------------------------------------------------------- /examples/sequence_map.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/examples/sequence_map.cpp -------------------------------------------------------------------------------- /examples/sequential_table.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/examples/sequential_table.cpp -------------------------------------------------------------------------------- /examples/string_hash.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/examples/string_hash.cpp -------------------------------------------------------------------------------- /examples/switch_table.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/examples/switch_table.cpp -------------------------------------------------------------------------------- /include/petra/base_table.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/base_table.hpp -------------------------------------------------------------------------------- /include/petra/callback_table.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/callback_table.hpp -------------------------------------------------------------------------------- /include/petra/chd.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/chd.hpp -------------------------------------------------------------------------------- /include/petra/concepts.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/concepts.hpp -------------------------------------------------------------------------------- /include/petra/detail/chd.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/detail/chd.hpp -------------------------------------------------------------------------------- /include/petra/detail/index_map.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/detail/index_map.hpp -------------------------------------------------------------------------------- /include/petra/detail/macros.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/detail/macros.hpp -------------------------------------------------------------------------------- /include/petra/detail/string_literal.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/detail/string_literal.hpp -------------------------------------------------------------------------------- /include/petra/detail/switch_table.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/detail/switch_table.hpp -------------------------------------------------------------------------------- /include/petra/enum_map.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/enum_map.hpp -------------------------------------------------------------------------------- /include/petra/expected.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/expected.hpp -------------------------------------------------------------------------------- /include/petra/indexed_bases.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/indexed_bases.hpp -------------------------------------------------------------------------------- /include/petra/linear_hash.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/linear_hash.hpp -------------------------------------------------------------------------------- /include/petra/map.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/map.hpp -------------------------------------------------------------------------------- /include/petra/sequence_map.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/sequence_map.hpp -------------------------------------------------------------------------------- /include/petra/sequential_table.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/sequential_table.hpp -------------------------------------------------------------------------------- /include/petra/string_literal.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/string_literal.hpp -------------------------------------------------------------------------------- /include/petra/string_map.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/string_map.hpp -------------------------------------------------------------------------------- /include/petra/switch_table.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/switch_table.hpp -------------------------------------------------------------------------------- /include/petra/utilities.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/utilities.hpp -------------------------------------------------------------------------------- /include/petra/utilities/fold.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/utilities/fold.hpp -------------------------------------------------------------------------------- /include/petra/utilities/sequence.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/utilities/sequence.hpp -------------------------------------------------------------------------------- /include/petra/utilities/tuple.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/include/petra/utilities/tuple.hpp -------------------------------------------------------------------------------- /test/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/test/CMakeLists.txt -------------------------------------------------------------------------------- /test/base_table.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/test/base_table.cpp -------------------------------------------------------------------------------- /test/callback_table.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/test/callback_table.cpp -------------------------------------------------------------------------------- /test/chd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/test/chd.cpp -------------------------------------------------------------------------------- /test/enum_map.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/test/enum_map.cpp -------------------------------------------------------------------------------- /test/exhaustive_string_hash.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/test/exhaustive_string_hash.cpp -------------------------------------------------------------------------------- /test/indexed_bases.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/test/indexed_bases.cpp -------------------------------------------------------------------------------- /test/linear_hash.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/test/linear_hash.cpp -------------------------------------------------------------------------------- /test/map.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/test/map.cpp -------------------------------------------------------------------------------- /test/sequence_map.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/test/sequence_map.cpp -------------------------------------------------------------------------------- /test/sequential_table.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/test/sequential_table.cpp -------------------------------------------------------------------------------- /test/string_map.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/test/string_map.cpp -------------------------------------------------------------------------------- /test/switch_table.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/test/switch_table.cpp -------------------------------------------------------------------------------- /test/utilities.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacquelinekay/petra/HEAD/test/utilities.hpp --------------------------------------------------------------------------------