├── .gitattributes ├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md ├── benchmarks ├── README.md └── dynamic_cast.cpp ├── demos ├── customize_match_for_variant.cpp ├── match_any.cpp ├── match_polyobj.cpp └── overload.cpp ├── include └── ni │ ├── functional │ ├── match.h │ ├── matchable_any.h │ ├── overload.h │ └── signature.h │ ├── meta │ ├── bools.h │ ├── dispatch.h │ ├── fold_add.h │ ├── fold_and.h │ ├── fold_or.h │ ├── scan_add.h │ └── try_catch.h │ └── type_hierarchy.h └── tests ├── main.cpp ├── match.test.cpp ├── match_any.test.cpp ├── meta.test.cpp ├── overload.test.cpp ├── signature.test.cpp └── type_hierarchy.test.cpp /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/README.md -------------------------------------------------------------------------------- /benchmarks/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/benchmarks/README.md -------------------------------------------------------------------------------- /benchmarks/dynamic_cast.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/benchmarks/dynamic_cast.cpp -------------------------------------------------------------------------------- /demos/customize_match_for_variant.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/demos/customize_match_for_variant.cpp -------------------------------------------------------------------------------- /demos/match_any.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/demos/match_any.cpp -------------------------------------------------------------------------------- /demos/match_polyobj.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/demos/match_polyobj.cpp -------------------------------------------------------------------------------- /demos/overload.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/demos/overload.cpp -------------------------------------------------------------------------------- /include/ni/functional/match.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/include/ni/functional/match.h -------------------------------------------------------------------------------- /include/ni/functional/matchable_any.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/include/ni/functional/matchable_any.h -------------------------------------------------------------------------------- /include/ni/functional/overload.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/include/ni/functional/overload.h -------------------------------------------------------------------------------- /include/ni/functional/signature.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/include/ni/functional/signature.h -------------------------------------------------------------------------------- /include/ni/meta/bools.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/include/ni/meta/bools.h -------------------------------------------------------------------------------- /include/ni/meta/dispatch.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/include/ni/meta/dispatch.h -------------------------------------------------------------------------------- /include/ni/meta/fold_add.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/include/ni/meta/fold_add.h -------------------------------------------------------------------------------- /include/ni/meta/fold_and.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/include/ni/meta/fold_and.h -------------------------------------------------------------------------------- /include/ni/meta/fold_or.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/include/ni/meta/fold_or.h -------------------------------------------------------------------------------- /include/ni/meta/scan_add.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/include/ni/meta/scan_add.h -------------------------------------------------------------------------------- /include/ni/meta/try_catch.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/include/ni/meta/try_catch.h -------------------------------------------------------------------------------- /include/ni/type_hierarchy.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/include/ni/type_hierarchy.h -------------------------------------------------------------------------------- /tests/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/tests/main.cpp -------------------------------------------------------------------------------- /tests/match.test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/tests/match.test.cpp -------------------------------------------------------------------------------- /tests/match_any.test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/tests/match_any.test.cpp -------------------------------------------------------------------------------- /tests/meta.test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/tests/meta.test.cpp -------------------------------------------------------------------------------- /tests/overload.test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/tests/overload.test.cpp -------------------------------------------------------------------------------- /tests/signature.test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/tests/signature.test.cpp -------------------------------------------------------------------------------- /tests/type_hierarchy.test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NativeInstruments/matchine/HEAD/tests/type_hierarchy.test.cpp --------------------------------------------------------------------------------