|
Coconut Framework
beta
|
Define CNObjectList data structure. More...
Go to the source code of this file.
Classes | |
| struct | CNObjectList |
| List of CNObject. More... | |
Functions | |
| static struct CNObjectList | CNMakeEmptyObjectList (struct CNResource *resource) |
| Initialize CNObjectList. More... | |
| void | CNDestroyObjectList (struct CNObjectList *dst) |
| Destroy CNObject(s) in the list and list items. More... | |
| static size_t | CNCountOfObjectsInList (const struct CNObjectList *src) |
| Get count of items in the object list. More... | |
| static struct CNListItem * | CNFirstListObject (const struct CNObjectList *src) |
| Get 1st item in the list. More... | |
| static struct CNListItem * | CNLastListObject (const struct CNObjectList *src) |
| Get last item in the list. More... | |
| static struct CNListItem * | CNCentinelListObject (const struct CNObjectList *src) |
| Get centinel item of the list. More... | |
| static void | CNAppendObjectToList (struct CNObjectList *dst, struct CNObject *src) |
| Append object to the list. More... | |
| static void | CNPrependObjectToList (struct CNObjectList *dst, struct CNObject *src) |
| Prepend object to the list. More... | |
| struct CNObjectList | CNCopyObjectList (const struct CNObjectList *src) |
| Make the copy of source object list. More... | |
| static void | CNInsertObjectToList (struct CNObjectList *dst, struct CNListItem *prev, struct CNObject *src) |
| Insert item to the list. More... | |
| void | CNInsertObjectsToList (struct CNObjectList *owner, struct CNListItem *prev, const struct CNObjectList *src) |
| Insert objects to the list. More... | |
| static struct CNObject * | CNUnlinkObjectFromList (struct CNObjectList *owner, struct CNListItem *dst) |
| Unlink an item from the list and return it's data. More... | |
| static struct CNObject * | CNUnlinkFirstObjectFromList (struct CNObjectList *dst) |
| Get 1st object in the list. More... | |
| static struct CNObject * | CNUnlinkLastObjectFromList (struct CNObjectList *dst) |
| Get last object in the list. More... | |
| static void | CNMoveObjectList (struct CNObjectList *dst, struct CNObjectList *src) |
| Move objects from source to destination. More... | |
| void | CNAppendObjectsToList (struct CNObjectList *dst, struct CNObjectList *src) |
| Copy objects from source to destination. More... | |
| static struct CNListItem * | CNSearchObjectInList (const struct CNObjectList *list, struct CNObject *obj) |
| Search list item which has source data reference. More... | |
| static struct CNListItem * | CNSearchMatchedObjectInList (const struct CNObjectList *list, CNMatchDataFuncRef func, void *info) |
| Search object which matched source data. More... | |
| CNBoolean | CNDeleteObjectInList (struct CNObjectList *dst, struct CNObject *obj) |
| Delete object in the list. More... | |
Define CNObjectList data structure.
|
static |
Initialize CNObjectList.
| resource | Resource for the list |
References CNMakeEmptyList(), and CNObjectList::objectList.
| void CNDestroyObjectList | ( | struct CNObjectList * | dst | ) |
Destroy CNObject(s) in the list and list items.
| dst | Destination list |
Referenced by CNDestroyContextOfNode().
|
inlinestatic |
Get count of items in the object list.
| src | Source object list |
References CNCountOfItemsInList(), and CNObjectList::objectList.
Referenced by CNCountOfConsumerEdges(), CNCountOfNodesInGraph(), and CNCountOfProducerEdges().
|
static |
Get 1st item in the list.
| src | Source list |
References CNFirstListItem(), and CNObjectList::objectList.
Referenced by CNFirstConsumerEdgeInNode(), CNFirstEdgeInGraph(), CNFirstNodeInGraph(), and CNFirstProducerEdgeInNode().
|
static |
Get last item in the list.
| src | Source list |
References CNLastListItem(), and CNObjectList::objectList.
|
static |
Get centinel item of the list.
| src | Source list |
References CNCentinelListItem(), and CNObjectList::objectList.
Referenced by CNCentinelConsumerEdgeInNode(), CNCentinelEdgeInGraph(), CNCentinelNodeInGraph(), and CNCentinelProducerEdgeInNode().
|
inlinestatic |
Append object to the list.
| dst | Destination list |
| src | Source object |
References CNAppendItemToList(), CNRetainObject(), and CNObjectList::objectList.
|
inlinestatic |
Prepend object to the list.
| dst | Destination list |
| src | Source object |
References CNPrependItemToList(), CNRetainObject(), and CNObjectList::objectList.
| struct CNObjectList CNCopyObjectList | ( | const struct CNObjectList * | src | ) |
Make the copy of source object list.
| src | Source list |
|
inlinestatic |
Insert item to the list.
| dst | Destination list |
| prev | Item in the owner list, the source object will be linked as the next of this. |
| src | Source object |
References CNInsertItemToList(), CNRetainObject(), and CNObjectList::objectList.
| void CNInsertObjectsToList | ( | struct CNObjectList * | owner, |
| struct CNListItem * | prev, | ||
| const struct CNObjectList * | src | ||
| ) |
Insert objects to the list.
| owner | Destination list |
| prev | Item in the owner list, the source data will be linked as the next of this. |
| src | Source data list |
|
static |
Unlink an item from the list and return it's data.
| owner | Destination list |
| dst | Destination list item to be removed |
References CNUnlinkItemFromList(), and CNObjectList::objectList.
|
static |
Get 1st object in the list.
| obj | Pointer of the 1st object |
| NULL | There are not objects in the list |
| dst | Source and destination list After this operation, the 1st item is removed from list |
References CNUnlinkFirstItemFromList(), and CNObjectList::objectList.
|
static |
Get last object in the list.
| obj | Pointer of the 1st object |
| NULL | There are not objects in the list |
| dst | Source and destination list After this operation, the last item is removed from list |
References CNUnlinkLastItemFromList(), and CNObjectList::objectList.
|
inlinestatic |
Move objects from source to destination.
| dst | Destination list |
| src | Source list |
References CNMoveList(), and CNObjectList::objectList.
| void CNAppendObjectsToList | ( | struct CNObjectList * | dst, |
| struct CNObjectList * | src | ||
| ) |
Copy objects from source to destination.
| dst | Destination list |
| src | Source list |
|
static |
Search list item which has source data reference.
| listitem | The list item which has source data |
| NULL | There are no list item |
| list | List to be searched |
| obj | Source object |
References CNSearchDataInList(), and CNObjectList::objectList.
|
static |
Search object which matched source data.
| listitem | The list item which mached with source data |
| NULL | There are no list item |
| list | List to be searched |
| func | Maching function |
| info | Maching information |
References CNSearchMatchedDataInList(), and CNObjectList::objectList.
| CNBoolean CNDeleteObjectInList | ( | struct CNObjectList * | dst, |
| struct CNObject * | obj | ||
| ) |
Delete object in the list.
| True | Source object is found in list and it is removed |
| False | Source object is NOT found in the list |
| dst | Source list |
| obj | Source object |
1.8.5