diff --git a/README.md b/README.md index 1e3b409..d093120 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,21 @@ # C-Macro-Collections -Generate Simple Data Structures of any type in C for you to use in your projects. +Header only, macro generated, generic and type-safe Collections in C. ![License](https://img.shields.io/badge/License-MIT-blue.svg) ![Version](https://img.shields.io/badge/Version-v1.6.1-orange.svg) [![Build](https://travis-ci.org/LeoVen/C-Macro-Collections.svg?branch=master)](https://travis-ci.org/LeoVen/C-Macro-Collections) [![codecov](https://codecov.io/gh/LeoVen/C-Macro-Collections/branch/master/graph/badge.svg)](https://codecov.io/gh/LeoVen/C-Macro-Collections) +## Table of Contents + +* Project Structure +* Available Collections +* Overall To-Do +* Design Decisions +* What to Use +* How to Use + ## Project Structure * __benchmarks__ - Where all benchmarks are hosted @@ -15,13 +24,11 @@ Generate Simple Data Structures of any type in C for you to use in your projects * __cmc__ - The main C Macro Collections Library * __dev__ - The main C Macro Collections Library for development (containing logging) * __ext__ - Extra collections - * __sac__ - Stack Allocated Collections + * __sac__ - Statically Allocated Collections * __utl__ - Utility like ForEach macros, logging, etc * __macro\_collections.h__ - Master header containing all collections and utilities * __tests__ - Where all tests are hosted -Only Collections located in __cmc__ are to be documented at *Documentation.md*. - ## Available Collections * Main C Macro Collections Library @@ -39,7 +46,7 @@ Only Collections located in __cmc__ are to be documented at *Documentation.md*. * IntervalHeap * MultiMap * MultiSet -* Stack Allocated Collections Library +* Statically Allocated Collections Library * Queue * Stack * Development Collections Library @@ -47,6 +54,16 @@ Only Collections located in __cmc__ are to be documented at *Documentation.md*. Check out **Documentation.md** for more information about each collection. The documentation is still being written. +## Overall To-Do + +In the long term, these are the steps left for the completion of this library: + +* Complete the implementation of all the functions in the scope of the TODO file for the main collections (all those included in `cmc` and `ext`); +* Reorganize and complete all tests for `cmc` and `ext`; +* Make an exact copy of all collections to `dev` with many logging utility, for them to be used under development; +* Port all of these collections to be statically allocated and be part of the `sac` library; +* Complete all tests for `sac`. + ## Design Decisions ### Stack vs Heap Allocation