YAP 7.1.0
Trie DataStructure

Engine Independent trie library. More...

Detailed Description

Engine Independent trie library.

The next routines provide a set of utilities to create and manipulate prefix trees of Prolog terms Tries were originally proposed to implement tabling in Logic Programming, but can be used for other purposes The tries will be stored in the Prolog database and can seen as alternative to assert and record family of primitives Most of these utilities have been implemented in C for efficiency They are available through the use_module(library(tries)) command


Class Documentation

◆ db_trie_opt_level

struct db_trie_opt_level

Definition at line 34 of file tries.c.

Public Attributes

YAP_Term value
 

Member Data Documentation

◆ value

YAP_Term value

Definition at line 35 of file tries.c.

◆ trie_put_entry/4

class trie_put_entry/4

trie_put_entry(+Mode,+ Trie,+ Term,- Ref)

Add term Term to trie Trie The handle Ref gives a reference to the term

◆ trie_get_entry/2

class trie_get_entry/2

trie_get_entry(+ Ref,- Term)

Unify Term with the entry for handle Ref

◆ trie_close/1

class trie_close/1

trie_close(+ Id)

Close trie with identifier Id

◆ trie_close_all/0

class trie_close_all/0

trie_close_all

Close all available tries

◆ trie_mode/1

class trie_mode/1

trie_mode(? Mode)

Unify Mode with trie operation mode Allowed values are either std (default) or rev

◆ trie_check_entry/3

class trie_check_entry/3

trie_check_entry(+ Trie,+ Term,- Ref)

Succeeds if a variant of term Term is in trie Trie An handle Ref gives a reference to the term

◆ trie_remove_entry/1

class trie_remove_entry/1

trie_remove_entry(+ Ref)

Remove entry for handle Ref

◆ trie_remove_subtree/1

class trie_remove_subtree/1

trie_remove_subtree(+ Ref)

Remove subtree rooted at handle Ref

◆ trie_save/2

class trie_save/2

trie_save(+ Trie,+ FileName)

Dump trie Trie into file FileName

◆ trie_load/2

class trie_load/2

trie_load(- Trie,+ FileName)

Load trie Trie from the contents of file FileName

◆ trie_stats/4

class trie_stats/4

trie_stats(- Memory,- Tries,- Entries,- Nodes)

Give generic statistics on tries, including the amount of memory, Memory, the number of tries, Tries, the number of entries, Entries, and the total number of nodes, Nodes

◆ trie_max_stats/4

class trie_max_stats/4

trie_max_stats(- Memory,- Tries,- Entries,- Nodes)

Give maximal statistics on tries, including the amount of memory, Memory, the number of tries, Tries, the number of entries, Entries, and the total number of nodes, Nodes

◆ trie_usage/4

class trie_usage/4

trie_usage(+ Trie,- Entries,- Nodes,- VirtualNodes)

Give statistics on trie Trie, the number of entries, Entries, and the total number of nodes, Nodes, and the number of VirtualNodes

◆ trie_print/1

class trie_print/1

trie_print(+ Trie)

Print trie Trie on standard output

Macro Definition Documentation

◆ arg_count [1/2]

#define arg_count   YAP_ARG2

Definition at line 1023 of file tries.c.

◆ arg_count [2/2]

#define arg_count   YAP_ARG2

Definition at line 1023 of file tries.c.

◆ arg_cur

#define arg_cur   YAP_ARG1

Definition at line 896 of file tries.c.

◆ arg_db_trie

#define arg_db_trie   YAP_ARG2

Definition at line 949 of file tries.c.

◆ arg_end_counter

#define arg_end_counter   YAP_ARG6

Definition at line 953 of file tries.c.

◆ arg_entries [1/5]

#define arg_entries   YAP_ARG3

Definition at line 793 of file tries.c.

◆ arg_entries [2/5]

#define arg_entries   YAP_ARG3

Definition at line 793 of file tries.c.

◆ arg_entries [3/5]

#define arg_entries   YAP_ARG3

Definition at line 793 of file tries.c.

◆ arg_entries [4/5]

#define arg_entries   YAP_ARG3

Definition at line 793 of file tries.c.

◆ arg_entries [5/5]

#define arg_entries   YAP_ARG2

Definition at line 793 of file tries.c.

◆ arg_entry [1/6]

#define arg_entry   YAP_ARG3

Definition at line 975 of file tries.c.

◆ arg_entry [2/6]

#define arg_entry   YAP_ARG3

Definition at line 975 of file tries.c.

◆ arg_entry [3/6]

#define arg_entry   YAP_ARG2

Definition at line 975 of file tries.c.

◆ arg_entry [4/6]

#define arg_entry   YAP_ARG2

Definition at line 975 of file tries.c.

◆ arg_entry [5/6]

#define arg_entry   YAP_ARG2

Definition at line 975 of file tries.c.

◆ arg_entry [6/6]

#define arg_entry   YAP_ARG1

Definition at line 975 of file tries.c.

◆ arg_file [1/2]

#define arg_file   YAP_ARG2

Definition at line 684 of file tries.c.

◆ arg_file [2/2]

#define arg_file   YAP_ARG2

Definition at line 684 of file tries.c.

◆ arg_final_label

#define arg_final_label   YAP_ARG3

Definition at line 950 of file tries.c.

◆ arg_init_ref [1/2]

#define arg_init_ref   YAP_ARG2

Definition at line 501 of file tries.c.

◆ arg_init_ref [2/2]

#define arg_init_ref   YAP_ARG2

Definition at line 501 of file tries.c.

◆ arg_list

#define arg_list   YAP_ARG2

Definition at line 931 of file tries.c.

◆ arg_memory [1/2]

#define arg_memory   YAP_ARG1

Definition at line 757 of file tries.c.

◆ arg_memory [2/2]

#define arg_memory   YAP_ARG1

Definition at line 757 of file tries.c.

◆ arg_min_prefix

#define arg_min_prefix   YAP_ARG1

Definition at line 1059 of file tries.c.

◆ arg_mode [1/4]

#define arg_mode   YAP_ARG1

Definition at line 843 of file tries.c.

◆ arg_mode [2/4]

#define arg_mode   YAP_ARG1

Definition at line 843 of file tries.c.

◆ arg_mode [3/4]

#define arg_mode   YAP_ARG1

Definition at line 843 of file tries.c.

◆ arg_mode [4/4]

#define arg_mode   YAP_ARG1

Definition at line 843 of file tries.c.

◆ arg_nested_id

#define arg_nested_id   YAP_ARG2

Definition at line 1043 of file tries.c.

◆ arg_next

#define arg_next   YAP_ARG2

Definition at line 897 of file tries.c.

◆ arg_nodes [1/3]

#define arg_nodes   YAP_ARG4

Definition at line 794 of file tries.c.

◆ arg_nodes [2/3]

#define arg_nodes   YAP_ARG4

Definition at line 794 of file tries.c.

◆ arg_nodes [3/3]

#define arg_nodes   YAP_ARG3

Definition at line 794 of file tries.c.

◆ arg_opt_level [1/3]

#define arg_opt_level   YAP_ARG4

Definition at line 1022 of file tries.c.

◆ arg_opt_level [2/3]

#define arg_opt_level   YAP_ARG1

Definition at line 1022 of file tries.c.

◆ arg_opt_level [3/3]

#define arg_opt_level   YAP_ARG1

Definition at line 1022 of file tries.c.

◆ arg_ref [1/12]

#define arg_ref   YAP_ARG4

Definition at line 877 of file tries.c.

◆ arg_ref [2/12]

#define arg_ref   YAP_ARG2

Definition at line 877 of file tries.c.

◆ arg_ref [3/12]

#define arg_ref   YAP_ARG3

Definition at line 877 of file tries.c.

◆ arg_ref [4/12]

#define arg_ref   YAP_ARG3

Definition at line 877 of file tries.c.

◆ arg_ref [5/12]

#define arg_ref   YAP_ARG1

Definition at line 877 of file tries.c.

◆ arg_ref [6/12]

#define arg_ref   YAP_ARG2

Definition at line 877 of file tries.c.

◆ arg_ref [7/12]

#define arg_ref   YAP_ARG2

Definition at line 877 of file tries.c.

◆ arg_ref [8/12]

#define arg_ref   YAP_ARG3

Definition at line 877 of file tries.c.

◆ arg_ref [9/12]

#define arg_ref   YAP_ARG3

Definition at line 877 of file tries.c.

◆ arg_ref [10/12]

#define arg_ref   YAP_ARG1

Definition at line 877 of file tries.c.

◆ arg_ref [11/12]

#define arg_ref   YAP_ARG1

Definition at line 877 of file tries.c.

◆ arg_ref [12/12]

#define arg_ref   YAP_ARG2

Definition at line 877 of file tries.c.

◆ arg_start_counter

#define arg_start_counter   YAP_ARG5

Definition at line 952 of file tries.c.

◆ arg_term

#define arg_term   YAP_ARG3

Definition at line 1044 of file tries.c.

◆ arg_trie [1/17]

#define arg_trie   YAP_ARG2

Definition at line 1042 of file tries.c.

◆ arg_trie [2/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie [3/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie [4/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie [5/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie [6/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie [7/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie [8/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie [9/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie [10/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie [11/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie [12/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie [13/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie [14/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie [15/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie [16/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie [17/17]

#define arg_trie   YAP_ARG1

Definition at line 1042 of file tries.c.

◆ arg_trie1 [1/2]

#define arg_trie1   YAP_ARG1

Definition at line 621 of file tries.c.

◆ arg_trie1 [2/2]

#define arg_trie1   YAP_ARG1

Definition at line 621 of file tries.c.

◆ arg_trie2 [1/2]

#define arg_trie2   YAP_ARG2

Definition at line 622 of file tries.c.

◆ arg_trie2 [2/2]

#define arg_trie2   YAP_ARG2

Definition at line 622 of file tries.c.

◆ arg_trie_dest [1/2]

#define arg_trie_dest   YAP_ARG1

Definition at line 581 of file tries.c.

◆ arg_trie_dest [2/2]

#define arg_trie_dest   YAP_ARG1

Definition at line 581 of file tries.c.

◆ arg_trie_source [1/2]

#define arg_trie_source   YAP_ARG2

Definition at line 582 of file tries.c.

◆ arg_trie_source [2/2]

#define arg_trie_source   YAP_ARG2

Definition at line 582 of file tries.c.

◆ arg_tries [1/2]

#define arg_tries   YAP_ARG2

Definition at line 758 of file tries.c.

◆ arg_tries [2/2]

#define arg_tries   YAP_ARG2

Definition at line 758 of file tries.c.

◆ arg_virtualnodes

#define arg_virtualnodes   YAP_ARG4

Definition at line 795 of file tries.c.

Function Documentation

◆ init_tries()

O_API void init_tries ( void  )

Definition at line 99 of file tries.c.

Variable Documentation

◆ opt_level

db_trie_opt_level* opt_level

Definition at line 985 of file tries.c.

Macros

#define arg_mode   YAP_ARG1
 
#define arg_mode   YAP_ARG1
 
#define arg_mode   YAP_ARG1
 
#define arg_mode   YAP_ARG1
 
#define arg_trie   YAP_ARG2
 
#define arg_trie   YAP_ARG1
 
#define arg_trie   YAP_ARG1
 
#define arg_trie   YAP_ARG1
 
#define arg_trie   YAP_ARG1
 
#define arg_trie   YAP_ARG1
 
#define arg_trie   YAP_ARG1
 
#define arg_trie   YAP_ARG1
 
#define arg_trie   YAP_ARG1
 
#define arg_trie   YAP_ARG1
 
#define arg_trie   YAP_ARG1
 
#define arg_trie   YAP_ARG1
 
#define arg_trie   YAP_ARG1
 
#define arg_trie   YAP_ARG1
 
#define arg_trie   YAP_ARG1
 
#define arg_trie   YAP_ARG1
 
#define arg_trie   YAP_ARG1
 
#define arg_entry   YAP_ARG3
 
#define arg_entry   YAP_ARG3
 
#define arg_entry   YAP_ARG2
 
#define arg_entry   YAP_ARG2
 
#define arg_entry   YAP_ARG2
 
#define arg_entry   YAP_ARG1
 
#define arg_ref   YAP_ARG4
 
#define arg_ref   YAP_ARG2
 
#define arg_ref   YAP_ARG3
 
#define arg_ref   YAP_ARG3
 
#define arg_ref   YAP_ARG1
 
#define arg_ref   YAP_ARG2
 
#define arg_ref   YAP_ARG2
 
#define arg_ref   YAP_ARG3
 
#define arg_ref   YAP_ARG3
 
#define arg_ref   YAP_ARG1
 
#define arg_ref   YAP_ARG1
 
#define arg_ref   YAP_ARG2
 
#define arg_init_ref   YAP_ARG2
 
#define arg_init_ref   YAP_ARG2
 
#define arg_trie_dest   YAP_ARG1
 
#define arg_trie_dest   YAP_ARG1
 
#define arg_trie_source   YAP_ARG2
 
#define arg_trie_source   YAP_ARG2
 
#define arg_trie1   YAP_ARG1
 
#define arg_trie1   YAP_ARG1
 
#define arg_trie2   YAP_ARG2
 
#define arg_trie2   YAP_ARG2
 
#define arg_entries   YAP_ARG3
 
#define arg_entries   YAP_ARG3
 
#define arg_entries   YAP_ARG3
 
#define arg_entries   YAP_ARG3
 
#define arg_entries   YAP_ARG2
 
#define arg_file   YAP_ARG2
 
#define arg_file   YAP_ARG2
 
#define arg_memory   YAP_ARG1
 
#define arg_memory   YAP_ARG1
 
#define arg_tries   YAP_ARG2
 
#define arg_tries   YAP_ARG2
 
#define arg_nodes   YAP_ARG4
 
#define arg_nodes   YAP_ARG4
 
#define arg_nodes   YAP_ARG3
 
#define arg_virtualnodes   YAP_ARG4
 
#define arg_cur   YAP_ARG1
 
#define arg_next   YAP_ARG2
 
#define arg_list   YAP_ARG2
 
#define arg_db_trie   YAP_ARG2
 
#define arg_final_label   YAP_ARG3
 
#define arg_opt_level   YAP_ARG4
 
#define arg_opt_level   YAP_ARG1
 
#define arg_opt_level   YAP_ARG1
 
#define arg_start_counter   YAP_ARG5
 
#define arg_end_counter   YAP_ARG6
 
#define arg_count   YAP_ARG2
 
#define arg_count   YAP_ARG2
 
#define arg_nested_id   YAP_ARG2
 
#define arg_term   YAP_ARG3
 
#define arg_min_prefix   YAP_ARG1
 

Functions

O_API void init_tries (void)
 

Variables

db_trie_opt_levelopt_level