To add the package to your project use the following:
dub add niknaks
Below is a short description of what each module provides, the list is expected to grow over time.
-
niknaks.functional
- Predicates
- Optionals
- Result types
-
niknaks.arrays
- Unique element generation
- Prescence checking
-
niknaks.bits
- Integral to byte conversions
- Byte ordering functions
-
niknaks.debugging
-
Automagic dumping of arrays to textual representation
- Supports arrays-of-arrays-of...
- Enter-leave (with argument and name printing) for methods
- An implementation of a jump-buffer with
View
-
Automagic dumping of arrays to textual representation
-
niknaks.containers
- Some useful container types
- Things such as
CacheMap
,Graph
andVisitationTree
- Also contains a jump-buffer implementation known as
View
- A generic pooling mechanism known as
Pool
-
niknaks.mechanisms
- User-defined input prompter, retry mechanisms
-
niknaks.config
- Configuration entries and management
-
niknaks.text
- Textual manipulation routines
-
niknaks.meta
- Template-oriented helper routines
-
niknaks.json
- JSON-related routines
LGPL 3.0
If there is something let me know or open a pull request for it. Try to keep the implementation generic as in by using parameterized types via D's templating capabilities.
Only make use of exceptions where it is absolutely necessary, normally go for an exception-less implementation and have an exception-based one which re-uses the former.
For more information please see CONTRIBUTING.