<dainty::container> consists of a number of container types that are used by the <dainty> framework
Historical context: The containers were initialy developed for a deterministic application. They are now transformed to a newer c++ version and nameing convention, which will most likely introduce bugs. This will be fixed when unit testing is introduced.
The dainty containers offers functionality not available in <std> containers. All the containers have the following characterists:
- incorporate <oops>, the error handling mechanism used by the dainty framework.
- heap and stack version avaiable for most of the containers.
- small interfaces (compared to wide interfaces) to do essential work.
- most containers are inplace containers that do not allow implicit copy or move.
- no function method using t_err will crash.
- container implementations are simple to understand and debug.
current containers:
- t_freelist
- t_list
- t_pushlist
- t_map
- t_valuestore - required to manage contruction & destruction
- t_any
- t_maybe
- t_passable_ptr
- t_holder
- t_ptrlist
many containers to follow (they must still be ported from another framework)
- t_linked_queue
- t_linked_ring
- t_bytebuf
- t_set
- t_uniquelist
- t_array
- t_string
- t_texting
- t_varbuf
- ....