diff --git a/README.md b/README.md index 2cd47d8..2e06093 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,22 @@ -# C-Macro-Collections +# C Macro Collections -Header only, macro generated, generic and type-safe Collections in C. +
+
+
Header only, macro generated, generic and type-safe Collections in C.
+ + + + ## Table of Contents @@ -13,8 +24,8 @@ Header only, macro generated, generic and type-safe Collections in C. * Available Collections * Overall To-Do * Design Decisions -* What to Use -* How to Use +* What to use +* How to use ## Project Structure @@ -31,28 +42,14 @@ Header only, macro generated, generic and type-safe Collections in C. ## Available Collections -* Main C Macro Collections Library - * Deque - * HashMap - * HashSet - * Heap - * LinkedList - * List - * Queue - * Stack - * TreeMap - * TreeSet -* Extra Collections Library - * IntervalHeap - * MultiMap - * MultiSet -* Statically Allocated Collections Library - * Queue - * Stack -* Development Collections Library - * Deque - -Check out **Documentation.md** for more information about each collection. The documentation is still being written. +* Linear Collections + * List, LinkedList, Deque, Stack, Queue +* Sets + * HashSet, TreeSet, MultiSet +* Maps + * HashMap, TreeMap, MultiMap +* Heaps + * Heap, IntervalHeap ## Overall To-Do @@ -117,21 +114,21 @@ Every collection is separated by two parts: All collections have three main macros: -* `SNAME_GENERATE` - Generates `SNAME_GENERATE_HEADER` and `SNAME_GENERATE_SOURCE`. +* `CMC_GENERATE_SNAME` - Generates `CMC_GENERATE_SNAME_HEADER` and `CMC_GENERATE_SNAME_SOURCE`. Or you can generate each part individually: -* `SNAME_GENERATE_HEADER` - Generates all struct definitions and function definitions. -* `SNAME_GENERATE_SOURCE` - Generates all function implementations. +* `CMC_GENERATE_SNAME_HEADER` - Generates all struct definitions and function definitions. +* `CMC_GENERATE_SNAME_SOURCE` - Generates all function implementations. ### For Each There are 2 for-each macros: -* `FOR_EACH` - Starts at the start of the collection towards the end. -* `FOR_EACH_REV` - Starts at the end of the collection towards the start. +* `CMC_FOR_EACH` - Starts at the start of the collection towards the end. +* `CMC_FOR_EACH_REV` - Starts at the end of the collection towards the start. -Check out the **Documentation.md** to know exactly what represents the *end* and the *start* of each collection. +Check out the documentation to know more. ### Parameters diff --git a/TODO b/TODO index 8226732..b641e6c 100644 --- a/TODO +++ b/TODO @@ -5,12 +5,12 @@ TODO [~] - Needs to be reviewed [ ] Future possible Collections - [ ] Add TreeHashMap [ ] Add SortedList [ ] Add BiDiMap [ ] Add Trie (or any variant) [/] Documentation +[/] Tests [X] Remove PUBLIC and PRIVATE [X] Extra Collections [X] Add MultiSet @@ -57,9 +57,9 @@ TODO [ ] Stack [ ] TreeMap [ ] TreeSet -[~] Utility - [~] assert.h +[X] Utility + [X] assert.h [X] foreach.h - [~] log.h - [~] test.h + [X] log.h + [X] test.h [X] timer.h