[BACK]Return to lst.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / make

Diff for /src/usr.bin/make/lst.h between version 1.12 and 1.13

version 1.12, 2000/06/10 01:32:23 version 1.13, 2000/06/10 01:41:05
Line 60 
Line 60 
   
 typedef struct  Lst     *Lst;  typedef struct  Lst     *Lst;
 typedef struct  LstNode *LstNode;  typedef struct  LstNode *LstNode;
 typedef int (*FindProc) __P((ClientData, ClientData));  typedef int (*FindProc) __P((void *, void *));
 typedef void (*SimpleProc) __P((ClientData));  typedef void (*SimpleProc) __P((void *));
 typedef void (*ForEachProc) __P((ClientData, ClientData));  typedef void (*ForEachProc) __P((void *, void *));
 typedef ClientData (*DuplicateProc) __P((ClientData));  typedef void * (*DuplicateProc) __P((void *));
   
 /*  /*
  * NOFREE can be used as the freeProc to Lst_Destroy when the elements are   * NOFREE can be used as the freeProc to Lst_Destroy when the elements are
Line 92 
Line 92 
  * Functions to modify a list   * Functions to modify a list
  */   */
 /* Insert an element before another */  /* Insert an element before another */
 void            Lst_Insert __P((Lst, LstNode, ClientData));  void            Lst_Insert __P((Lst, LstNode, void *));
 /* Insert an element after another */  /* Insert an element after another */
 void            Lst_Append __P((Lst, LstNode, ClientData));  void            Lst_Append __P((Lst, LstNode, void *));
 /* Place an element at the front of a lst. */  /* Place an element at the front of a lst. */
 void            Lst_AtFront __P((Lst, ClientData));  void            Lst_AtFront __P((Lst, void *));
 /* Place an element at the end of a lst. */  /* Place an element at the end of a lst. */
 void            Lst_AtEnd __P((Lst, ClientData));  void            Lst_AtEnd __P((Lst, void *));
 /* Remove an element */  /* Remove an element */
 void            Lst_Remove __P((Lst, LstNode));  void            Lst_Remove __P((Lst, LstNode));
 /* Replace a node with a new value */  /* Replace a node with a new value */
 void            Lst_Replace __P((LstNode, ClientData));  void            Lst_Replace __P((LstNode, void *));
 /* Concatenate two lists */  /* Concatenate two lists */
 void            Lst_Concat __P((Lst, Lst, int));  void            Lst_Concat __P((Lst, Lst, int));
   
Line 116 
Line 116 
 /* Return successor to given element */  /* Return successor to given element */
 LstNode         Lst_Succ __P((LstNode));  LstNode         Lst_Succ __P((LstNode));
 /* Get datum from LstNode */  /* Get datum from LstNode */
 ClientData      Lst_Datum __P((LstNode));  void *  Lst_Datum __P((LstNode));
   
 /*  /*
  * Functions for entire lists   * Functions for entire lists
Line 126 
Line 126 
 #define Lst_Find(l, cProc, d)   Lst_FindFrom(Lst_First(l), cProc, d)  #define Lst_Find(l, cProc, d)   Lst_FindFrom(Lst_First(l), cProc, d)
   
 /* Find an element starting from somewhere */  /* Find an element starting from somewhere */
 LstNode         Lst_FindFrom __P((LstNode, FindProc, ClientData));  LstNode         Lst_FindFrom __P((LstNode, FindProc, void *));
   
 /* Apply a function to all elements of a lst */  /* Apply a function to all elements of a lst */
 #define Lst_ForEach(l, proc, d) Lst_ForEachFrom(Lst_First(l), proc, d)  #define Lst_ForEach(l, proc, d) Lst_ForEachFrom(Lst_First(l), proc, d)
 /* Apply a function to all elements of a lst starting from a certain point.  */  /* Apply a function to all elements of a lst starting from a certain point.  */
 void            Lst_ForEachFrom __P((LstNode, ForEachProc, ClientData));  void            Lst_ForEachFrom __P((LstNode, ForEachProc, void *));
 void            Lst_Every __P((Lst, SimpleProc));  void            Lst_Every __P((Lst, SimpleProc));
   
   
Line 139 
Line 139 
  * See if the given datum is on the list. Returns the LstNode containing   * See if the given datum is on the list. Returns the LstNode containing
  * the datum   * the datum
  */   */
 LstNode         Lst_Member __P((Lst, ClientData));  LstNode         Lst_Member __P((Lst, void *));
   
 /*  /*
  * these functions are for dealing with a list as a table, of sorts.   * these functions are for dealing with a list as a table, of sorts.
Line 159 
Line 159 
  * for using the list as a queue   * for using the list as a queue
  */   */
 /* Place an element at tail of queue */  /* Place an element at tail of queue */
 void            Lst_EnQueue __P((Lst, ClientData));  void            Lst_EnQueue __P((Lst, void *));
 /* Remove an element from head of queue */  /* Remove an element from head of queue */
 ClientData      Lst_DeQueue __P((Lst));  void *  Lst_DeQueue __P((Lst));
   
 #endif /* _LST_H_ */  #endif /* _LST_H_ */

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13