├── .github └── workflows │ └── ci.yaml ├── .gitignore ├── .watchcode.yaml ├── benchmarks ├── basic_dispatch_closures.nim └── basic_dispatch_methods.nim ├── dev ├── debug_1.nim └── experiment_1.nim ├── nim.cfg ├── oop_utils.nimble ├── readme.md ├── readme_closure_class.md ├── readme_standard_class.md ├── src └── oop_utils │ ├── closure_class.nim │ ├── match_instance.nim │ ├── private │ ├── common.nim │ └── utils.nim │ ├── standard_class.nim │ └── unwrap.nim └── tests ├── closure_class ├── abstract_test_1.nim ├── abstract_test_2.nim ├── base_calls_test.nim ├── basic_test_1.nim ├── basic_test_2.nim ├── basic_test_3.nim ├── closure_correctness_test.nim ├── ctor_calls_error_1.nim ├── ctor_calls_error_2.nim ├── ctor_calls_test_1.nim ├── ctor_calls_test_2.nim ├── ctor_post_init_test.nim ├── empty_ctor_test.nim ├── generic_constructor_test.nim ├── generics_test_1.nim ├── getter_setter_test.nim ├── inheritance_chain_test.nim ├── overload_test.nim └── root_base_call_error.nim ├── config.nims ├── standard_class ├── abstract_test_1.nim ├── accidental_upcast_error.nim ├── base_calls_error_1.nim ├── base_calls_test_1.nim ├── base_calls_test_2.nim ├── base_calls_test_3.nim ├── basic_test_0.nim ├── basic_test_1.nim ├── basic_test_3.nim ├── ctor_test_1.nim ├── ctor_test_2.nim ├── draft_test.nim ├── generic_fields_test.nim ├── generics_test_1.nim ├── parse_self_block_test.nim ├── template_accessors_test.nim ├── visibility_lib.nim └── visibility_test_1.nim ├── test_match_instance.nim ├── test_unwrap.nim └── test_utils.nim /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/.github/workflows/ci.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/.gitignore -------------------------------------------------------------------------------- /.watchcode.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/.watchcode.yaml -------------------------------------------------------------------------------- /benchmarks/basic_dispatch_closures.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/benchmarks/basic_dispatch_closures.nim -------------------------------------------------------------------------------- /benchmarks/basic_dispatch_methods.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/benchmarks/basic_dispatch_methods.nim -------------------------------------------------------------------------------- /dev/debug_1.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/dev/debug_1.nim -------------------------------------------------------------------------------- /dev/experiment_1.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/dev/experiment_1.nim -------------------------------------------------------------------------------- /nim.cfg: -------------------------------------------------------------------------------- 1 | path="./src/" 2 | -d:debugOOP -------------------------------------------------------------------------------- /oop_utils.nimble: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/oop_utils.nimble -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/readme.md -------------------------------------------------------------------------------- /readme_closure_class.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/readme_closure_class.md -------------------------------------------------------------------------------- /readme_standard_class.md: -------------------------------------------------------------------------------- 1 | # standard_class 2 | 3 | To be documented... -------------------------------------------------------------------------------- /src/oop_utils/closure_class.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/src/oop_utils/closure_class.nim -------------------------------------------------------------------------------- /src/oop_utils/match_instance.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/src/oop_utils/match_instance.nim -------------------------------------------------------------------------------- /src/oop_utils/private/common.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/src/oop_utils/private/common.nim -------------------------------------------------------------------------------- /src/oop_utils/private/utils.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/src/oop_utils/private/utils.nim -------------------------------------------------------------------------------- /src/oop_utils/standard_class.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/src/oop_utils/standard_class.nim -------------------------------------------------------------------------------- /src/oop_utils/unwrap.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/src/oop_utils/unwrap.nim -------------------------------------------------------------------------------- /tests/closure_class/abstract_test_1.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/abstract_test_1.nim -------------------------------------------------------------------------------- /tests/closure_class/abstract_test_2.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/abstract_test_2.nim -------------------------------------------------------------------------------- /tests/closure_class/base_calls_test.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/base_calls_test.nim -------------------------------------------------------------------------------- /tests/closure_class/basic_test_1.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/basic_test_1.nim -------------------------------------------------------------------------------- /tests/closure_class/basic_test_2.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/basic_test_2.nim -------------------------------------------------------------------------------- /tests/closure_class/basic_test_3.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/basic_test_3.nim -------------------------------------------------------------------------------- /tests/closure_class/closure_correctness_test.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/closure_correctness_test.nim -------------------------------------------------------------------------------- /tests/closure_class/ctor_calls_error_1.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/ctor_calls_error_1.nim -------------------------------------------------------------------------------- /tests/closure_class/ctor_calls_error_2.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/ctor_calls_error_2.nim -------------------------------------------------------------------------------- /tests/closure_class/ctor_calls_test_1.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/ctor_calls_test_1.nim -------------------------------------------------------------------------------- /tests/closure_class/ctor_calls_test_2.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/ctor_calls_test_2.nim -------------------------------------------------------------------------------- /tests/closure_class/ctor_post_init_test.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/ctor_post_init_test.nim -------------------------------------------------------------------------------- /tests/closure_class/empty_ctor_test.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/empty_ctor_test.nim -------------------------------------------------------------------------------- /tests/closure_class/generic_constructor_test.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/generic_constructor_test.nim -------------------------------------------------------------------------------- /tests/closure_class/generics_test_1.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/generics_test_1.nim -------------------------------------------------------------------------------- /tests/closure_class/getter_setter_test.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/getter_setter_test.nim -------------------------------------------------------------------------------- /tests/closure_class/inheritance_chain_test.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/inheritance_chain_test.nim -------------------------------------------------------------------------------- /tests/closure_class/overload_test.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/overload_test.nim -------------------------------------------------------------------------------- /tests/closure_class/root_base_call_error.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/closure_class/root_base_call_error.nim -------------------------------------------------------------------------------- /tests/config.nims: -------------------------------------------------------------------------------- 1 | switch("path", "./src") -------------------------------------------------------------------------------- /tests/standard_class/abstract_test_1.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/abstract_test_1.nim -------------------------------------------------------------------------------- /tests/standard_class/accidental_upcast_error.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/accidental_upcast_error.nim -------------------------------------------------------------------------------- /tests/standard_class/base_calls_error_1.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/base_calls_error_1.nim -------------------------------------------------------------------------------- /tests/standard_class/base_calls_test_1.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/base_calls_test_1.nim -------------------------------------------------------------------------------- /tests/standard_class/base_calls_test_2.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/base_calls_test_2.nim -------------------------------------------------------------------------------- /tests/standard_class/base_calls_test_3.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/base_calls_test_3.nim -------------------------------------------------------------------------------- /tests/standard_class/basic_test_0.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/basic_test_0.nim -------------------------------------------------------------------------------- /tests/standard_class/basic_test_1.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/basic_test_1.nim -------------------------------------------------------------------------------- /tests/standard_class/basic_test_3.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/basic_test_3.nim -------------------------------------------------------------------------------- /tests/standard_class/ctor_test_1.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/ctor_test_1.nim -------------------------------------------------------------------------------- /tests/standard_class/ctor_test_2.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/ctor_test_2.nim -------------------------------------------------------------------------------- /tests/standard_class/draft_test.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/draft_test.nim -------------------------------------------------------------------------------- /tests/standard_class/generic_fields_test.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/generic_fields_test.nim -------------------------------------------------------------------------------- /tests/standard_class/generics_test_1.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/generics_test_1.nim -------------------------------------------------------------------------------- /tests/standard_class/parse_self_block_test.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/parse_self_block_test.nim -------------------------------------------------------------------------------- /tests/standard_class/template_accessors_test.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/template_accessors_test.nim -------------------------------------------------------------------------------- /tests/standard_class/visibility_lib.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/visibility_lib.nim -------------------------------------------------------------------------------- /tests/standard_class/visibility_test_1.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/standard_class/visibility_test_1.nim -------------------------------------------------------------------------------- /tests/test_match_instance.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/test_match_instance.nim -------------------------------------------------------------------------------- /tests/test_unwrap.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/test_unwrap.nim -------------------------------------------------------------------------------- /tests/test_utils.nim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluenote10/oop_utils/HEAD/tests/test_utils.nim --------------------------------------------------------------------------------