https://github.com/ahajha/cpp-equiv
A C++20 equivalence relation library
https://github.com/ahajha/cpp-equiv
Last synced: about 1 month ago
JSON representation
A C++20 equivalence relation library
- Host: GitHub
- URL: https://github.com/ahajha/cpp-equiv
- Owner: Ahajha
- License: mit
- Created: 2021-01-22T05:57:53.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-01-31T00:53:40.000Z (over 4 years ago)
- Last Synced: 2025-03-24T15:15:54.572Z (about 2 months ago)
- Language: C++
- Size: 42 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cpp-equiv
A C++20 header-only equivalence relation library## Intended use of this library:
Creating equivalence relations with indexes as elements, merging elements and testing for equivalence. Also supports adding and removing elements from existing equivalence relations, comparing fine-ness, creating all equivalence relations of a given size, and other auxilary functions/methods.## Examples:
An example program is provided in /examples, the tests in /test can also be useful.## How to include this library:
Only the contents of the /include folder are needed to use this library. The files immediately in the folder are the ones that can be included.### equiv_relation
provides the base functionality### equiv_relation_hash
provides a hash function for eq_relation### equiv_relation_store
provides means for storing and accessing equivalence relations in a central location, if many references to them are needed and memory is a concern.These files can either be including the exact path, or by linking the directory as a library path with the compiler, and using , , or .
## Other Thoughts:
I opted for the MIT licence for this library, as I wanted to be fairly permissive with it. That said, if you do use it in a project, all I ask is you give me credit and let me know you've used it, I'm quite interested in what others can do with this!