Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Blt_TreeCreate(3)	     BLT Library Procedures	       Blt_TreeCreate(3)

________________________________________________________________________________

NAME
     Blt_TreeCreate - Create tree data object.

SYNOPSIS
     #include <bltTree.h>

     int
     Blt_TreeCreate(interp, name, tokenPtr)

ARGUMENTS
     Tcl_Interp   *interp   (in)      Interpreter to report results back to.

     const char   *name     (in)      Name of the new tree.  Can be qualified by
				      a namespace.

     Blt_Tree	  *tokenPtr (out)     If  not  NULL, points to location to store
				      the client tree token.
_________________________________________________________________

DESCRIPTION
     This procedure creates a C-based tree data object and optionally returns  a
     token to it.  The arguments are as follows:

     interp    Interpreter  to report results back to.	If an error occurs, then
	       interp->result will contain an error message.

     name      Name of the new tree object.  You can think of name as the memory
	       address of the object.  It's a unique name  that  identifies  the
	       tree object.  No tree object name can already exist.  Name can be
	       qualified  by  a namespace such as fred::myTree.  If no namespace
	       qualifier is used, the tree will be created in the current  name-
	       space,  not the global namespace.  If a qualifier is present, the
	       namespace must already exist.

     tokenPtr  Holds the returned token.  TokenPtr points to a location where it
	       is stored. Tree tokens are used to work with the tree object.  If
	       NULL, no token is allocated.  You can later use	Tcl_TreeGetToken
	       to obtain a token.

     The  new  tree data object created will initially contain only a root node.
     You can add new nodes with Blt_TreeCreateNode.

     Optionally a token for the tree data object is returned.  Tree data objects
     can be shared.  For example, the tree and hiertable commands may be access-
     ing the same tree data object.  Each client grabs a token that  is  associ-
     ated  with  the tree.  When all tokens are released (see Blt_TreeReleaseTo-
     ken) the tree data object is automatically destroyed.

RETURNS
     A standard Tcl result is returned.  If  TCL_ERROR	is  returned,  then  in-
     terp->result  will  contain an error message.  The following errors may oc-
     cur:

     *	There already exists a tree by the  same  name	as  name.  You	can  use
	Tcl_TreeExists to determine if a tree exists beforehand.

     *	The  tree  name  is  prefixed by a namespace that doesn't exist.  If you
	qualified the tree name with a namespace, the namespace must exist.  Un-
	like Tcl procs and variables, the namespace is not automatically created
	for you.

     *	Memory can't be allocated for the tree or token.

EXAMPLE
     The following example creates a new

	    Blt_Tree token;

	    if (Blt_TreeCreate(interp, "myTree", &token) != TCL_OK) {
		return TCL_ERROR;
	    }
	    printf("tree is %s\n", Blt_TreeName(token));

KEYWORDS
     Tcl_TreeGetToken, Tcl_TreeExists, Tcl_TreeReleaseToken

BLT				       2.5		       Blt_TreeCreate(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Blt_TreeCreate&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help