File: tn.h

package info (click to toggle)
tcllib 1.20%2Bdfsg-1
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 68,064 kB
  • sloc: tcl: 216,842; ansic: 14,250; sh: 2,846; xml: 1,766; yacc: 1,145; pascal: 881; makefile: 107; perl: 84; f90: 84; python: 33; ruby: 13; php: 11
file content (63 lines) | stat: -rw-r--r-- 1,574 bytes parent folder | download | duplicates (9)
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
61
62
63
/* struct::tree - critcl - layer 1 declarations
 * (b) Node operations.
 */

#ifndef _TN_H
#define _TN_H 1

#include "tcl.h"
#include <ds.h>

void  tn_shimmer  (Tcl_Obj* o, TNPtr n);
TNPtr tn_get_node (TPtr t, Tcl_Obj* node, Tcl_Interp* interp, Tcl_Obj* tree);

TNPtr  tn_new	 (TPtr td, CONST char* name);
TNPtr  tn_dup	 (TPtr dst, TNPtr src);
void   tn_delete (TNPtr n);

void tn_node	  (TNPtr n);
void tn_notnode	  (TNPtr n);
void tn_leaf	  (TNPtr n);
void tn_notleaf	  (TNPtr n);
void tn_structure (TNPtr n, int depth);

void   tn_detach	 (TNPtr n);
TNPtr* tn_detachmany	 (TNPtr n, int len);
TNPtr* tn_detachchildren (TNPtr n, int* nc);

void tn_append	   (TNPtr p,	     TNPtr n);
void tn_insert	   (TNPtr p, int at, TNPtr n);

void tn_appendmany (TNPtr p,	     int nc, TNPtr* nv);
void tn_insertmany (TNPtr p, int at, int nc, TNPtr* nv);

void tn_cut	   (TNPtr n);

int	  tn_depth	    (TNPtr n);
int	  tn_height	    (TNPtr n);
int	  tn_ndescendants   (TNPtr n);
Tcl_Obj** tn_getdescendants (TNPtr n, int* nc);
Tcl_Obj** tn_getchildren    (TNPtr n, int* nc);

int tn_filternodes (int* nc,   Tcl_Obj** nv,
		    int	 cmdc, Tcl_Obj** cmdv,
		    Tcl_Obj* tree, Tcl_Interp* interp);

int tn_isancestorof (TNPtr a, TNPtr b);

void	 tn_extend_attr (TNPtr n);
void	 tn_set_attr	(TNPtr n, Tcl_Interp* interp, Tcl_Obj* dict);
Tcl_Obj* tn_get_attr	(TNPtr n, Tcl_Obj* empty);

int tn_serialize (TNPtr n, int listc, Tcl_Obj** listv,
		  int at, int parent, Tcl_Obj* empty);

#endif /* _TN_H */

/*
 * Local Variables:
 * mode: c
 * c-basic-offset: 4
 * fill-column: 78
 * End:
 */