Hosted by the courtesy of GitHub |
The stars ASAP
Durée du voyage intersidéral Résolutions de l'ONU en HTML Bussard Ramjet |
DWARF : dwarf2xml
ELF : libelf examples Code presentation : ctoohtml |
Top | Download | Source code |
Home |
Basically rings are a small and simple C library that provides simple or double linked list.
LGPL license let you to compile and link it directly with your source code.
Interesting things comes with a set of preprocessor macros that take in account nodes typing to handle several issues :
type conversion, offset calculation, if the link structures are not at start of nodes, having a node belonging to multiples rings, having minimum syntax verbosity. Dealing with complex sets of data require for a program to keep track of them and, sometimes maintain link between different types of objects. For example SQL does the job for persistent data. In C++, STL container, offers low level similar services.
Rings are an abstraction for storing, retrieving and linking complex arbitrary sets of data.
Provided the addition of a ring structure in the C structure of data, the objects can be linked in a ring. It is possible to link the object to as many rings the object contains ring structures.
The main constraint comes with the offset of the ring structure in the data that must be the same for all objects who are linked in the same ring.
The API implementation of the containers are aimed to lower the amount of code the user have to write to manage rings. A set of macros is provided to simplify the interface. There are several, and potentially plenty, possible types of rings. The simplest is a simple pointer ring.
The rings This basic and probably the most usefull.The named rings It is a ring whose structure contains a name. A new member function, find, is added to the nring method to search by name.
The double rings This ring can be listed back and forth. The dring structure is a bit fater than it is for the ring. It also provide more intergrity check possibilities.The double named rings This is a nring who have a prev method.
doc generation date : Tue Oct 31 16:55:33 2017
Hosted by the courtesy of GitHub |
The stars ASAP
Durée du voyage intersidéral Résolutions de l'ONU en HTML Bussard Ramjet |
DWARF : dwarf2xml
ELF : libelf examples Code presentation : ctoohtml |