/usr/lib/swipl/library/rbtrees.pl
All Application Manual Name SummaryHelp

  • swipl
    • library
      • error.pl
      • debug.pl -- Print debug messages and test assertions
      • apply.pl -- Apply predicates on a list
      • lists.pl -- List Manipulation
      • broadcast.pl -- Event service
      • shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects)
      • option.pl -- Option list processing
      • thread_pool.pl -- Resource bounded thread management
      • gensym.pl -- Generate unique symbols
      • settings.pl -- Setting management
      • arithmetic.pl -- Extensible arithmetic
      • main.pl
      • readutil.pl -- Read utilities
      • operators.pl -- Manage operators
      • pairs.pl -- Operations on key-value lists
      • prolog_source.pl -- Examine Prolog source-files
      • record.pl -- Access compound arguments by name
      • quasi_quotations.pl -- Define Quasi Quotation syntax
      • sandbox.pl
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • yall.pl -- Lambda expressions
      • assoc.pl -- Binary associations
      • prolog_format.pl -- Analyse format specifications
      • pure_input.pl -- Pure Input from files and streams
      • solution_sequences.pl -- Modify solution sequences
      • ordsets.pl -- Ordered set manipulation
      • random.pl -- Random numbers
      • base64.pl -- Base64 encoding and decoding
      • aggregate.pl -- Aggregation operators on backtrackable predicates
      • predicate_options.pl -- Access and analyse predicate options
      • csv.pl -- Process CSV (Comma-Separated Values) data
      • pprint.pl -- Pretty Print Prolog terms
      • atom.pl -- Operations on atoms
      • modules.pl -- Module utility predicates
      • occurs.pl -- Finding and counting sub-terms
      • prolog_xref.pl -- Prolog cross-referencer data collection
      • prolog_colour.pl -- Prolog syntax colouring support.
      • lazy_lists.pl -- Lazy list handling
      • ugraphs.pl -- Graph manipulation library
      • url.pl -- Analysing and constructing URL
      • www_browser.pl -- Open a URL in the users browser
      • prolog_pack.pl -- A package manager for Prolog
      • git.pl -- Run GIT commands
      • utf8.pl -- UTF-8 encoding/decoding on lists of character codes.
      • quintus.pl
      • prolog_versions.pl -- Demand specific (Prolog) versions
      • prolog_wrap.pl -- Wrapping predicates
      • dialect.pl -- Support multiple Prolog dialects
      • date.pl -- Process dates and times
      • persistency.pl -- Provide persistent dynamic predicates
      • iostream.pl -- Utilities to deal with streams
      • prolog_code.pl -- Utilities for reasoning about code
      • strings.pl -- String utilities
      • dif.pl -- The dif/2 constraint
      • edinburgh.pl -- Some traditional Edinburgh predicates
      • terms.pl -- Term manipulation
      • ansi_term.pl -- Print decorated text to ANSI consoles
      • threadutil.pl -- Interactive thread utilities
      • prolog_stack.pl -- Examine the Prolog stack
      • prolog_clause.pl
      • prolog_breakpoints.pl -- Manage Prolog break-points
      • wfs.pl
      • sort.pl
      • dicts.pl -- Dict utilities
      • varnumbers.pl
      • rbtrees.pl -- Red black trees
        • rb_new/1
        • rb_empty/1
        • rb_lookup/3
        • rb_min/3
        • rb_max/3
        • rb_next/4
        • rb_previous/4
        • rb_update/4
        • rb_update/5
        • rb_apply/4
        • rb_in/3
        • rb_insert/4
        • rb_insert_new/4
        • rb_delete/3
        • rb_delete/4
        • rb_del_min/4
        • rb_del_max/4
        • rb_visit/2
        • rb_visit_range/4
        • rb_map/3
        • rb_map/2
        • rb_fold/4
        • rb_clone/3
        • rb_partial_map/4
        • rb_keys/2
        • list_to_rbtree/2
        • ord_list_to_rbtree/2
        • rb_size/2
        • is_rbtree/1
      • backcomp.pl -- Backward compatibility
      • charsio.pl -- I/O on Lists of Character Codes
      • base32.pl -- Base32 encoding and decoding
      • codesio.pl -- I/O on Lists of Character Codes
      • coinduction.pl -- Co-Logic Programming
      • heaps.pl -- heaps/priority queues
      • statistics.pl -- Get information about resource usage
      • when.pl -- Conditional coroutining
      • ctypes.pl -- Character code classification
      • listing.pl -- List programs and pretty print clauses
      • intercept.pl -- Intercept and signal interface
      • prolog_debug.pl -- User level debugging tools
      • tty.pl -- Terminal operations
      • fastrw.pl -- Fast reading and writing of terms
      • prolog_profile.pl -- Execution profiler
      • optparse.pl -- command line parsing
      • help.pl -- Text based manual
      • prolog_trace.pl -- Print access to predicates
      • hashtable.pl -- Hash tables
      • tableutil.pl
      • tables.pl -- XSB interface to tables
      • system.pl -- System utilities
      • exceptions.pl -- Exception classification
      • shell.pl -- Elementary shell commands
      • thread.pl -- High level thread primitives
      • check.pl -- Consistency checking
      • prolog_jiti.pl -- Just In Time Indexing (JITI) utilities
      • nb_rbtrees.pl
      • pio.pl -- Pure I/O
      • increval.pl -- Incremental dynamic predicate modification
      • prolog_autoload.pl -- Autoload all dependencies
      • zip.pl -- Access resource ZIP archives
      • prolog_metainference.pl -- Infer meta-predicate properties
      • explain.pl
      • qpforeign.pl -- Quintus compatible foreign loader
      • nb_set.pl
      • prolog_codewalk.pl
      • writef.pl
      • prolog_deps.pl
      • make.pl
      • check_installation.pl -- Check installation issues and features
      • qsave.pl
      • rwlocks.pl
      • streams.pl -- Manage Prolog streams
      • portray_text.pl
      • edit.pl
      • prolog_history.pl
      • macros.pl
      • files.pl
      • vm.pl
      • prolog_coverage.pl
      • readln.pl
      • oset.pl -- Ordered set manipulation
      • prolog_qlfmake.pl -- Compile the library to QLF format
 rb_map(+Tree, :G, -NewTree) is semidet
For all nodes Key in the tree Tree, if the value associated with key Key is Val0 in tree Tree, and if call(G,Val0,ValF) holds, then the value associated with Key in NewTree is ValF. Fails if call(G,Val0,ValF) is not satisfiable for all Val0. If G is non-deterministic, rb_map/3 will backtrack over all possible values from call(G,Val0,ValF). You should not depend on the order of tree traversal (currently: key order).