GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> EFC / V4-5-5 > efc / rhel5-32


Interface   Data Structures   File List   Data Fields   Globals  

TFC_prjList.h File Reference

Provides data structures (arrays of linked lists) that allow one to access the projections by their top or bottom layer number. More...

#include <PBI/Attribute.h>

Classes

struct  _TFC_prjNode
 Defines the control structure needed to maintain a node on a projection list. More...
struct  _TFC_prjList
 Defines the control structure needed to describe the head of a projection list. More...

Typedefs

typedef struct _TFC_prjList TFC_prjList
 Typedef for struct _TFC_prjList.
typedef struct _TFC_prjNode TFC_prjNode
 Typedef for struct _TFC_prjNode.

Functions

static __inline void TFC__prjListAppend (TFC_prjList *dst, TFC_prjList *src) ATTR_UNUSED_OK
 Appends the src list members to the dst list.
static __inline void TFC__prjListDestroy (TFC_prjList *list) ATTR_UNUSED_OK
 Destroys the data structures associate with the list.
static __inline int TFC__prjListEmpty (TFC_prjList *list) ATTR_UNUSED_OK
 Returns non zero if the list is empty list.
static __inline int TFC__prjListIsLast (const TFC_prjList *list, const TFC_prjNode *node) ATTR_UNUSED_OK
 Returns a whether a this is the last node in the list.
static __inline void TFC__prjListInit (TFC_prjList *list) ATTR_UNUSED_OK
 Initializes a list (singly linked list) to an empty list.
static __inline TFC_prjNodeTFC__prjListInsert (TFC_prjList *list, TFC_prjNode *node) ATTR_UNUSED_OK
 Adds a node to the tail of a previously initialized list.
static __inline TFC_prjNodeTFC__prjListJam (TFC_prjList *list, TFC_prjNode *node) ATTR_UNUSED_OK
 Adds a node to the head of a previously initialized list.
static __inline TFC_prjNodeTFC__prjListPrevious (const TFC_prjList *list, const TFC_prjNode *node) ATTR_UNUSED_OK
 Returns the previous node list or NULL if the first node.
static __inline void TFC__prjListPrepend (TFC_prjList *dst, TFC_prjList *src) ATTR_UNUSED_OK
 Prepends the src list members to the dst list.
static __inline TFC_prjNodeTFC__prjListNext (const TFC_prjList *list, const TFC_prjNode *node) ATTR_UNUSED_OK
 Returns the next node or NULL if the last node.
static __inline TFC_prjNodeTFC__prjListRemove (TFC_prjList *list) ATTR_UNUSED_OK
 Removes the node from the head of a previously initialized list.. An empty list returns NULL as its node.
static __inline TFC_prjNodeTFC__prjListUnlink (const TFC_prjNode *node, TFC_prjNode *predecessor) ATTR_UNUSED_OK
 Removes the specified node from the list.
static __inline TFC_prjNodeTFC__prjListFirst (const TFC_prjList *list) ATTR_UNUSED_OK
 Returns a pointer to the first node in the list.
static __inline TFC_prjNodeTFC__prjListLast (const TFC_prjList *list) ATTR_UNUSED_OK
 Returns a pointer to the last node in the list.


Detailed Description

Provides data structures (arrays of linked lists) that allow one to access the projections by their top or bottom layer number.

Author:
JJRussell - russell@slac.stanford.edu

   CVS $Id: TFC_prjList.h,v 1.2 2011/03/27 04:55:29 russell Exp $

Function Documentation

static __inline void TFC__prjListAppend ( TFC_prjList dst,
TFC_prjList src 
) [static]

Appends the src list members to the dst list.

Parameters:
dst A previously initialized list acting as the destination
src A previously initialized list acting as the source
Appends the source list to the destination list. After this operation the destination list will have consist of its original members followed by the members on the source list. The source list will be empty.

References _TFC_prjNode::blnk, _TFC_prjNode::flnk, and _TFC_prjList::node.

static __inline void TFC__prjListDestroy ( TFC_prjList list  )  [static]

Destroys the data structures associate with the list.

Parameters:
list Pointer to the list to destroy.
Currently this routine is effectively a NO-OP, but is provided for upward compatibility, just in case at some time in the future this operations does something meaningful.

static __inline int TFC__prjListEmpty ( TFC_prjList list  )  [static]

Returns non zero if the list is empty list.

Returns:
Non zero if the list is empty list, else 0
Parameters:
list Pointer to the list to initialize.

References _TFC_prjNode::flnk, and _TFC_prjList::node.

static __inline TFC_prjNode * TFC__prjListFirst ( const TFC_prjList list  )  [static]

Returns a pointer to the first node in the list.

Returns:
A pointer to the first node in the list or NULL if the list is empty.
Parameters:
list The list

References _TFC_prjNode::flnk, and _TFC_prjList::node.

static __inline void TFC__prjListInit ( TFC_prjList list  )  [static]

Initializes a list (singly linked list) to an empty list.

Parameters:
list Pointer to the list to initialize.
The list is initialized to an empty list. This must be done before performing any other operations on the list.

References _TFC_prjNode::blnk, _TFC_prjNode::flnk, and _TFC_prjList::node.

static __inline TFC_prjNode * TFC__prjListInsert ( TFC_prjList list,
TFC_prjNode node 
) [static]

Adds a node to the tail of a previously initialized list.

Returns:
Pointer to the old tail. This can be used to test whether this was the first item on the list. If return_value == list then empty
Parameters:
list A previously initialized list.
node The node to add at the tail of the mode
Adds the specified node to the tail of the list. If all nodes are added with the TFC__prjListInsert routine, the list behaves as a FIFO.

References _TFC_prjNode::blnk, _TFC_prjNode::flnk, and _TFC_prjList::node.

static __inline int TFC__prjListIsLast ( const TFC_prjList list,
const TFC_prjNode node 
) [static]

Returns a whether a this is the last node in the list.

Return values:
0,is not the last node in the list
0,is the last node in the list
Parameters:
list The list
node The node to check

References _TFC_prjList::node.

static __inline TFC_prjNode * TFC__prjListJam ( TFC_prjList list,
TFC_prjNode node 
) [static]

Adds a node to the head of a previously initialized list.

Returns:
Pointer to the old forward link. This can be used to test whether this was the first item on the list.
If return_value == list, then empty
Parameters:
list A previously initialized list.
node The node to add.
Adds the specified node to the head of the list. If all nodes are added with the TFC__prjListJam routine, the list behaves as a LIFO.

References _TFC_prjNode::flnk, and _TFC_prjList::node.

static __inline TFC_prjNode * TFC__prjListLast ( const TFC_prjList list  )  [static]

Returns a pointer to the last node in the list.

Returns:
A pointer to the last node in the list or NULL if the list is empty.
Parameters:
list The list

References _TFC_prjNode::blnk, and _TFC_prjList::node.

static __inline TFC_prjNode * TFC__prjListNext ( const TFC_prjList list,
const TFC_prjNode node 
) [static]

Returns the next node or NULL if the last node.

Returns:
Pointer to the next node or NULL if this is the last node
Parameters:
list A previously initialized list.
node The current node

References _TFC_prjNode::flnk, and _TFC_prjList::node.

static __inline void TFC__prjListPrepend ( TFC_prjList dst,
TFC_prjList src 
) [static]

Prepends the src list members to the dst list.

Parameters:
dst A previously initialized list acting as the destination
src A previously initialized list acting as the source
Prepends the source list to the destination list. After this operation the destination list will have consist of its original members preceded by the members on the source list. The source list will be empty.

References _TFC_prjNode::blnk, _TFC_prjNode::flnk, and _TFC_prjList::node.

static __inline TFC_prjNode * TFC__prjListPrevious ( const TFC_prjList list,
const TFC_prjNode node 
) [static]

Returns the previous node list or NULL if the first node.

Returns:
Pointer to the next node or NULL if this is the first node
Parameters:
list A previously initialized list.
node The current node

References _TFC_prjList::node.

static __inline TFC_prjNode * TFC__prjListRemove ( TFC_prjList list  )  [static]

Removes the node from the head of a previously initialized list.. An empty list returns NULL as its node.

Returns:
A pointer to the removed node or NULL if the list is empty.
Parameters:
list A previously initialized list.
Removes the node at the head of the list. If the list is empty, NULL is returned.

References _TFC_prjNode::blnk, _TFC_prjNode::flnk, and _TFC_prjList::node.

static __inline TFC_prjNode * TFC__prjListUnlink ( const TFC_prjNode node,
TFC_prjNode predecessor 
) [static]

Removes the specified node from the list.

Returns:
Pointer to the forward link of the removed node.
Parameters:
node The node to unlink from the list
predecessor The predecessor node.
Unlinks the specified node from a previously initialized list.

References _TFC_prjNode::flnk.


Generated on Wed Jan 16 13:42:03 2013 by  doxygen 1.5.8