File: ptrarray.h

package info (click to toggle)
universal-ctags 6.2.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 37,612 kB
  • sloc: ansic: 158,498; sh: 8,621; lisp: 7,742; vhdl: 6,518; cpp: 2,583; perl: 2,578; python: 2,324; javascript: 2,054; cs: 1,193; lex: 1,015; sql: 897; makefile: 787; ruby: 764; php: 755; cobol: 741; f90: 566; ada: 559; asm: 509; yacc: 465; fortran: 412; xml: 405; objc: 289; tcl: 280; java: 173; erlang: 65; pascal: 58; ml: 49; awk: 44; haskell: 42
file content (60 lines) | stat: -rw-r--r-- 2,416 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*
*   Copyright (c) 1999-2002, Darren Hiebert
*
*   This source code is released for free distribution under the terms of the
*   GNU General Public License version 2 or (at your option) any later version.
*
*   Defines external interface to resizable pointer arrays.
*/
#ifndef CTAGS_MAIN_PTRARRAY_H
#define CTAGS_MAIN_PTRARRAY_H

/*
*   INCLUDE FILES
*/
#include "general.h"  /* must always come first */
#include "types.h"

/*
*   DATA DECLARATIONS
*/
struct sPtrArray;
typedef struct sPtrArray ptrArray;

typedef void (*ptrArrayDeleteFunc) (void *data);


/*
*   FUNCTION PROTOTYPES
*/

extern ptrArray *ptrArrayNew (ptrArrayDeleteFunc deleteFunc);
extern unsigned int ptrArrayAdd (ptrArray *const current, void *ptr);
extern bool ptrArrayUpdate (ptrArray *const current, unsigned int indx, void *ptr, void *padding);
extern void *ptrArrayRemoveLast (ptrArray *const current);
#define ptrArrayDeleteLast(A) ptrArrayDeleteLastInBatch(A, 1)
extern void  ptrArrayDeleteLastInBatch (ptrArray *const current, unsigned int count);
extern void ptrArrayCombine (ptrArray *const current, ptrArray *const from);
extern void ptrArrayClear (ptrArray *const current);
extern unsigned int ptrArrayCount (const ptrArray *const current);
#define ptrArrayIsEmpty(A) (ptrArrayCount(A) == 0)
extern void* ptrArrayItem (const ptrArray *const current, const unsigned int indx);
extern void* ptrArrayItemFromLast (const ptrArray *const current, const unsigned int indx);
#define ptrArrayLast(A) ptrArrayItemFromLast(A, 0)
extern void ptrArrayUnref (ptrArray *const current);
#define ptrArrayDelete ptrArrayUnref
extern void ptrArrayRef(ptrArray *const current);
extern bool ptrArrayHasTest (const ptrArray *const current,
				  bool (*test)(const void *ptr, void *userData),
				  void *userData);
extern bool ptrArrayHas (const ptrArray *const current, void *ptr);
extern void ptrArrayReverse (const ptrArray *const current);
extern void ptrArrayDeleteItem (ptrArray* const current, unsigned int indx);
extern void*ptrArrayRemoveItem (ptrArray* const current, unsigned int indx);
extern void ptrArrayInsertItem (ptrArray* const current, unsigned int indx, void *ptr);

extern void ptrArraySort (ptrArray *const current, int (*compare)(const void *, const void *));
extern void ptrArraySortR (ptrArray *const current, int (*compare)(const void *, const void *, void *),
						   void *userData);

#endif  /* CTAGS_MAIN_PTRARRAY_H */