Welcome to my Standard Personal Library (a.k.a SPL), fell free to use it in any project that you want.
The idea of this library is to provide as many generic purpose algorithms and data structures as possible... And to make it possible, I will try to use this library in any personal project developed in the near future, as I'm always learning something new I can evolve this library during the process.
#include "{PROJECT_INCLUDE}/spl/{SPL_HEADER}"
Replace
{PROJECT_INCLUDE}
and{SPL_HEADER}
to the corresponding path in your environment.
See below what is already done and ready to use.
List of available containers, for more details please check the respective documentation.
Name | Header | Description/Documentation |
---|---|---|
SPL::AnsiString | spl/strings.hpp | See documentation |
SPL::WideString | spl/strings.hpp | See documentation |
SPL::ArrayList | spl/arrays.hpp | See documentation |
SPL::HashSet | spl/hash_tables.hpp | See documentation |
SPL::HashMap | spl/hash_tables.hpp | See documentation |
SPL::PrefixSet | spl/prefixtrees.hpp | A prefix set container (with ternary search tree) |
SPL::PrefixMap | spl/prefixtrees.hpp | A prefix map container (with ternary search tree) |
Use them by including the provided header file.
List of available interfaces.
Name | Description |
---|---|
SPL::Exception | Common interface for exceptions |
SPL::Iterator | Common interface for iterators |
SPL::Iterable | Common interface for iterable objects |
SPL::Comparable | Common interface for comparable objects |
SPL::String | Common interface for strings |
SPL::List | Common interface for list containers |
SPL::Hash | Common interface for hash generators |
SPL::Set | Common interface for set containers |
SPL::Map | Common interface for map containers |
Use all of them by including
spl/interfaces.hpp
This library is strictly personal, if you want to use some feature in production but found a bug, you are welcome to contact me and contribute.
Ah, and English isn't my main language, I'm trying to get better on that as well 😊