General-purpose repository, intended as a submodule for others.
- To see usage examples, look at the Test folder.
- To run the tests, run
make test
from the Test folder.
- Calculator.cpp
- The engine used in EngCalc.
- Dictionary.cpp
- A left-leaning red-black tree used to store key-value pairs: the key is a string and the value type is templated.
- FileWrapper.cpp
- Abstraction for reading and writing files, as well as obtaining and modifying the various time-stamps.
- General.cpp
- Provides OS-independence and includes often-used standard headers.
- Defines
kiB
(210) andMiB
(220) constants. - Defines macros for standard ANSI escape sequences related to changing the console text colour.
- Defines
debug
,info
,warning
,error
andassert
macros. These are syntactically identical toprintf
, but automatically adds colours and more information relating to the current file, line number and function name.
- JSON.cpp
- Abstraction for reading, manipulating and generating JSON strings. It supports parsing of JSON-5 strings, but stringifies to normal JSON.
- LLRBTree.cpp
- A general-purpose left-leaning red-black tree used to store objects.
- UTF_Converter.cpp
- Utility used to convert between UTF-8 (std::string), UTF-16 (std::u16string) and UTF-32 (std::u32string).
- XML.cpp
- Abstraction for reading and writing XML files.