aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Adding some examples to the READMEHEADmasterKatharina Fey2019-07-231-0/+33
|
* Switching default build to C99Katharina Fey2019-07-231-7/+13
|
* Changing README to markdown and adding a build badgeKatharina Fey2019-07-212-33/+40
|
* Adding a CI manifestKatharina Fey2019-07-211-0/+11
|
* Fixing a memory allocation regressionKatharina Fey2019-07-151-1/+2
| | | | | | | | | | In a previous commit, adding HASH node support, this code was added that would let both ARRAY and HASH nodes allocate an array. The syntax was however wrong, never allocating memory and thus failing with an INVALID_STATE when freeing. Additionally, this begs the question how a cleanup of INVALID_STATE could be handled (i.e. with a `goto fail` in the `bowl_free` function)
* Updating README with sr.ht issue trackerKatharina Fey2019-07-141-0/+2
|
* Various improvements around HASH nodesKatharina Fey2019-07-146-14/+71
| | | | | | | | | | | | | | | The example previously would lead to corrupt memory when running for items that needed to re-hash the hash array. This has been fixed. Secondly, all HASH node memory leaks are now fixed, that resulted from badly tracking objects through the resize process. A new function `hash_free_shallow` was added to help with this. The function `array_free_shallow` is unused but might become useful in the future and so was not removed. The hash strategy is still garbage but this can be fixed later :)
* Adding a hashmap exampleKatharina Fey2019-07-142-4/+30
|
* Implementing HASH node `remove_key` functionKatharina Fey2019-07-143-2/+30
|
* Adjusting gitignore to capture in-source cmake artefactsKatharina Fey2019-07-141-2/+63
|
* Fixing simple HASH node memory leakKatharina Fey2019-07-131-1/+1
|
* Conditionally compiling example binariesKatharina Fey2019-07-131-4/+8
|
* Adding initial support for HASH nodesKatharina Fey2019-07-139-25/+198
| | | | | | | | | | | | | | | | This PR adds initial support for HASH data nodes in libbowl. This allows a performant key-value store lookup in a node tree. The hashing code implements the "murmur" hash, which has shown good performance over at [`libcuckoo`]. Currently there is no extended hashing strategy, which should definitely be changed. [`libcuckoo`]: https://github.com/qaul/libcuckoo (currently a collision will cause a recursive re-alloc) Some of the type-level hacks also begs the question if a PAIR data node might be warranted, even though it would break the simple design around bowl->data.
* Restructuring the main API and projectKatharina Fey2019-06-0913-1200/+512
| | | | | | | | | This commit rewrites pretty much the entire library. It is now much smaller and more maintainable (split over multiple files). It will now also support more features (that aren't implemented yet). Adding two examples to show how to use the new API. Also changing the name of the library everywhere.
* Changing library name and project structureKatharina Fey2019-06-0411-1254/+140
|
* Updating some formatting issues in the READMEKatharina Fey2019-06-041-5/+9
|
* Adding support for list roots:Katharina Fey2019-06-041-4/+22
| | | | | | | | | | | | [{'id': 5, ...}, {'id': 6, ...}] Which results in [LIST] [PAIR] <==> ['id'] => [5] ... structures. Advanced json parsing support is still experimental!
* Added support for array parsingKatharina Fey2019-06-041-33/+79
|
* Fixed an issue where printing boolean values in a tree wouldn't workKatharina Fey2019-06-041-1/+1
|
* Adding boolean support to the json parserKatharina Fey2019-06-041-0/+4
|
* Adding support for boolean nodes as well as long long supports via compile ↵Katharina Fey2019-06-042-8/+58
| | | | options
* Fixing a few parser issues that prevented it from working properly. Includes:Katharina Fey2019-06-042-8/+15
| | | | | | - Now NULL terminates all inputs pre-emptively - Can now properly parse numerical values - Calculates heap memory field size for tokens arrayproperly
* Updating the dtree API to contain a boolean value and be comfigurable to ↵Katharina Fey2019-06-041-6/+18
| | | | support long long numerals
* Impementing a functional json parser on top of the tokeniserKatharina Fey2019-06-043-245/+361
|
* Fixing a bug where parent searches were always falseKatharina Fey2019-06-041-1/+1
|
* Changing parser API slightly and adding compile support to build systemKatharina Fey2019-06-042-2/+5
|
* Adding a static copy of the jasmine json tokeniserKatharina Fey2019-06-042-0/+437
|
* Adding work-in-progress new json parserKatharina Fey2019-06-042-365/+86
|
* Adding new function that gets the parent of a current node in a recursive ↵Katharina Fey2019-06-043-0/+55
| | | | structure
* Updating lots of code to make finalisation of vault creations easierKatharina Fey2019-06-041-1/+1
|
* Updating the examples a littleKatharina Fey2019-06-042-56/+12
|
* Adding new recursive key search functionKatharina Fey2019-06-041-0/+75
|
* Adding new error return for limited recursive queriesKatharina Fey2019-06-041-0/+1
|
* Cleaning up json encoder and decoderKatharina Fey2019-06-041-48/+17
| | | | | - Removing the requirement to set an encoder setting - Only supporting minified json (for now)
* - Fixing an issue where the list malloc was of size 0Katharina Fey2019-06-041-4/+5
| | | | | - Now properly cleaning payload space after type reset - Minor tweaks and improvements
* No longer allow to free shallow copies of nodesKatharina Fey2019-06-041-1/+3
|
* Adding a new error code and commenting the existing ones :)Katharina Fey2019-06-041-5/+6
|
* First version of the "eztree" api. It provides more straight-forward ways to ↵Katharina Fey2019-06-043-57/+116
| | | | | | use libdyntree (in a less safe way however!) eztree_* functions do not provide error chec
* Fixing some errors and finishing more refactoringKatharina Fey2019-06-042-54/+53
|
* Moving utility functions into new file with a new API namespaceKatharina Fey2019-06-044-141/+148
|
* Adding the ability to copy nodes in shallow or deep modeKatharina Fey2019-06-042-13/+93
|
* API refactor part 3: Recursive elements are now called "List" elements, ↵Katharina Fey2019-06-043-34/+34
| | | | Numeral elements are now called "Numeric" elements.
* Cleaning up the json decoder.Katharina Fey2019-06-042-185/+201
| | | | Fixing an error in the print function which would sometimes yield incorrect results
* More API changes deep_copy is now copy_deepKatharina Fey2019-06-042-2/+2
|
* Updating API part 2Katharina Fey2019-06-043-32/+46
|
* API Changes.Katharina Fey2019-06-042-10/+103
| | | | | | | - Renaming the recursive field to "list" functions - Renaming main file to dtree for less confusion - Allowing for long values to be stored - not just integers - Adjusting quick access functions to use new API
* Update README.mdKatharina Fey2019-06-041-1/+1
|
* Updating READMEKatharina Fey2019-06-042-318/+703
|
* Updating banner pictureKatharina Fey2016-08-230-0/+0
|
* Adding an awesome (ish) bannerKatharina Fey2016-08-230-0/+0
|