Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Lists


Detailed Description

TODO.

[ Email questions or comments ] [ Join the mailing list ]


Classes

class  phLinkedList
 The phLinkedList is not a thread-safe linked list implementation. More...
class  phListNode
 phListNode is used with the phList class and represents a simple node type that can be added or removed from the list. It doesn't hold any information and classes should be derived from it if a node type that holds information wishes to be implemented. The phObjectNode is one class that inherits from this class and implements new methods specific to the phObjectNode and phObjectList classes. The node inherits from phMutex so that it can be locked when list operations are being performed to make the implementation thread-safe. Whenever the node pointers are being adjusted using phListNode::setNext or phListNode::setPrevious the specific instance of phListNode will be locked so that no other thread can try adjusting the pointers at the same time. The object is also locked in phListNode::getNext and phListNode::getPrevious so no thread can change the pointers while another thread is trying to get access to them. More...
class  phList
 The phList is a thread-safe linked list implementation. The list is locked whenever an operation is being performed on the list. List nodes are only locked if they are being looked at or having the next/previous pointers adjusted. Otherwise, it is possible for multiple threads to access multiple nodes at a time when the list doesn't have a node locked. More...
class  phObjectNode
 The phObjectNode wraps most of the phListNode methods to provide a phObjectNode interface that doesn't require a user to always wrap the phListNode returned pointers to a phObjectNode pointer. The phObjectNode adds methods to set the phObject pointer that is packaged within the node. The autoDelete_on parameter is used to delete the phObjects in the phObjectNodes when delete is called on the phObjectNode. This allows one to add nodes to the list and forget about deleting the objects if it serves the code. Auto-deleting is disabled by default because the common case dictates that a user will add a phObject and then delete that object manually instead of letting the node do it. More...
class  phObjectList
 The phObjectList is a list that operates with phObjectNodes to create a thread-safe list structure for the storage of any class derived from phObject. This class basically wraps around the phList interface but makes adaptations to take phObject pointers as parameters. In addition, a phObjectList::findObject method will determine if a phObject exists in the list for any purpose such as making sure the phObject exists only once in the list. The methods are renamed to include the term Object so that they will not be mistaken for the phList wrapped methods. The phObjectList also handles much of the creation of the phObjectNode containers by taking only a phObject pointer as a parameter. This greatly simplifies higher level code such as the code in phSystem that makes use of this class. If one wishes the nodes in a phObjectNode to always have the auto delete option enabled, the phObjectNode returned from any of the following methods can be used to enabled it: More...
class  phTimeList
 todo. More...
class  phLinkedList
 The phLinkedList is not a thread-safe linked list implementation. More...

Typedefs

typedef ph_int32_array_tph_int32_array

Functions

int ph_int32_array_new (ph_int32_array *arr)
int ph_int32_array_append (ph_int32_array arr, int32_t value)
uint32_t ph_int32_array_get_length (ph_int32_array arr)
int ph_int32_array_get (ph_int32_array arr, uint32_t index, int32_t *retval)
int ph_int32_array_find (ph_int32_array arr, int32_t value, uint32_t *retindex)
int ph_int32_array_empty (ph_int32_array arr)
int ph_int32_array_free (ph_int32_array *arr)




Copyright (C) 2002 - 2007 Philip D.S. Thoren ( pthoren@users.sourceforge.net )
University Of Massachusetts at Lowell
Robotics Lab
SourceForge.net Logo


Generated on Sat Jun 16 02:45:27 2007 for phission by  doxygen 1.4.4