| Did you know ... | Search Documentation: |
| Pack logtalk -- logtalk-3.102.0/docs/apis/_sources/trie_1.rst.txt |
.. index:: single: trie(Representation)
.. _trie/1:
.. rst-class:: right
object
trie(Representation)Representation - String representation. Valid values are atom, codes, and chars.
Persistent trie predicates supporting different string representations.
| Availability:
| logtalk_load(tries(loader))
| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-08-05
| Compilation flags:
| static, context_switching_calls
| Uses:
| :ref:`list <list/0>`
| :ref:`pairs <pairs/0>`
| :ref:`string(Representation) <string/1>`
| Remarks: | (none)
| Inherited public predicates: | (none)
.. contents:: :local: :backlinks: top
.. index:: new/1 .. _trie/1::new/1:
new/1 ^^^^^^^^^
Creates an empty trie.
| Compilation flags:
| static
| Template:
| new(Trie)
| Mode and number of proofs:
| new(-trie) - one
.. index:: as_trie/2 .. _trie/1::as_trie/2:
as_trie/2 ^^^^^^^^^^^^^
Converts a list of string-value pairs to a trie. When a string occurs multiple times, the last value is retained.
| Compilation flags:
| static
| Template:
| as_trie(Pairs,Trie)
| Mode and number of proofs:
| as_trie(@list(pairs),-trie) - one
.. index:: as_list/2 .. _trie/1::as_list/2:
as_list/2 ^^^^^^^^^^^^^
Converts a trie to a lexicographically ordered list of string-value pairs.
| Compilation flags:
| static
| Template:
| as_list(Trie,Pairs)
| Mode and number of proofs:
| as_list(@trie,-list(pairs)) - one
.. index:: as_list/3 .. _trie/1::as_list/3:
as_list/3 ^^^^^^^^^^^^^
Returns a lexicographically ordered list of all string-value pairs whose strings start with the given prefix. Fails if no string starts with the prefix.
| Compilation flags:
| static
| Template:
| as_list(Trie,Prefix,Pairs)
| Mode and number of proofs:
| as_list(@trie,+text,-list(pairs)) - zero_or_one
.. index:: strings/2 .. _trie/1::strings/2:
strings/2 ^^^^^^^^^^^^^
Returns all strings in a trie in lexicographic order.
| Compilation flags:
| static
| Template:
| strings(Trie,Strings)
| Mode and number of proofs:
| strings(@trie,-list(text)) - one
.. index:: strings/3 .. _trie/1::strings/3:
strings/3 ^^^^^^^^^^^^^
Returns all strings that start with the given prefix in lexicographic order. Fails if no string starts with the prefix.
| Compilation flags:
| static
| Template:
| strings(Trie,Prefix,Strings)
| Mode and number of proofs:
| strings(@trie,+text,-list(text)) - zero_or_one
.. index:: values/2 .. _trie/1::values/2:
values/2 ^^^^^^^^^^^^
Returns all values in lexicographic order of their associated strings.
| Compilation flags:
| static
| Template:
| values(Trie,Values)
| Mode and number of proofs:
| values(@trie,-list) - one
.. index:: values/3 .. _trie/1::values/3:
values/3 ^^^^^^^^^^^^
Returns all values associated with strings that start with the given prefix, in lexicographic order of the strings. Fails if no string starts with the prefix.
| Compilation flags:
| static
| Template:
| values(Trie,Prefix,Values)
| Mode and number of proofs:
| values(@trie,+text,-list) - zero_or_one
.. index:: empty/1 .. _trie/1::empty/1:
empty/1 ^^^^^^^^^^^
True iff the trie is empty.
| Compilation flags:
| static
| Template:
| empty(Trie)
| Mode and number of proofs:
| empty(@trie) - zero_or_one
.. index:: insert/4 .. _trie/1::insert/4:
insert/4 ^^^^^^^^^^^^
Inserts a string-value pair into a trie, returning the updated trie. When the string already exists, its associated value is updated.
| Compilation flags:
| static
| Template:
| insert(OldTrie,String,Value,NewTrie)
| Mode and number of proofs:
| insert(+trie,+text,@term,-trie) - one
.. index:: lookup/3 .. _trie/1::lookup/3:
lookup/3 ^^^^^^^^^^^^
Looks up a matching string-value pair. With an unbound string, enumerates all pairs in lexicographic order.
| Compilation flags:
| static
| Template:
| lookup(String,Value,Trie)
| Mode and number of proofs:
| lookup(+text,?term,@trie) - zero_or_one
| lookup(-text,?term,@trie) - zero_or_more
.. index:: update/4 .. _trie/1::update/4:
update/4 ^^^^^^^^^^^^
Updates the value associated with a string, returning the updated trie. Fails if the string is not stored.
| Compilation flags:
| static
| Template:
| update(OldTrie,String,NewValue,NewTrie)
| Mode and number of proofs:
| update(+trie,+text,+term,-trie) - zero_or_one
.. index:: update/5 .. _trie/1::update/5:
update/5 ^^^^^^^^^^^^
Updates the value associated with a string, returning the updated trie. Fails if the string is not stored or its value does not unify with the expected old value.
| Compilation flags:
| static
| Template:
| update(OldTrie,String,OldValue,NewValue,NewTrie)
| Mode and number of proofs:
| update(+trie,+text,?term,+term,-trie) - zero_or_one
.. index:: delete/4 .. _trie/1::delete/4:
delete/4 ^^^^^^^^^^^^
Deletes a matching string-value pair, returning the updated trie. Descendant strings are preserved.
| Compilation flags:
| static
| Template:
| delete(OldTrie,String,Value,NewTrie)
| Mode and number of proofs:
| delete(+trie,+text,?term,-trie) - zero_or_one
.. index:: lookup_prefix/4 .. _trie/1::lookup_prefix/4:
lookup_prefix/4 ^^^^^^^^^^^^^^^^^^^
Enumerates all string-value pairs whose strings start with the given prefix, in lexicographic order.
| Compilation flags:
| static
| Template:
| lookup_prefix(Prefix,String,Value,Trie)
| Mode and number of proofs:
| lookup_prefix(+text,-text,?term,@trie) - zero_or_more
.. index:: prefixes/3 .. _trie/1::prefixes/3:
prefixes/3 ^^^^^^^^^^^^^^
Returns all stored string-value pairs whose strings are prefixes of the query, ordered from shortest to longest.
| Compilation flags:
| static
| Template:
| prefixes(Trie,Query,Pairs)
| Mode and number of proofs:
| prefixes(@trie,+text,-list(pairs)) - one
.. index:: longest_prefix/4 .. _trie/1::longest_prefix/4:
longest_prefix/4 ^^^^^^^^^^^^^^^^^^^^
Returns the longest stored string that is a prefix of the query and its associated value. Fails if no stored string is a prefix.
| Compilation flags:
| static
| Template:
| longest_prefix(Trie,Query,Prefix,Value)
| Mode and number of proofs:
| longest_prefix(@trie,+text,-text,-term) - zero_or_one
.. index:: delete_prefix/3 .. _trie/1::delete_prefix/3:
delete_prefix/3 ^^^^^^^^^^^^^^^^^^^
Deletes all string-value pairs whose strings start with the given prefix, returning the updated trie. Fails if no string starts with the prefix.
| Compilation flags:
| static
| Template:
| delete_prefix(OldTrie,Prefix,NewTrie)
| Mode and number of proofs:
| delete_prefix(+trie,+text,-trie) - zero_or_one
.. index:: size/2 .. _trie/1::size/2:
size/2 ^^^^^^^^^^
Number of string-value pairs stored in a trie.
| Compilation flags:
| static
| Template:
| size(Trie,Size)
| Mode and number of proofs:
| size(@trie,?integer) - one
(no local declarations; see entity ancestors if any)
(no local declarations; see entity ancestors if any)
(none)