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

  • swipl
    • library
      • error.pl
      • debug.pl
      • apply.pl
      • lists.pl
      • broadcast.pl -- Event service
      • predicate_options.pl
      • shlib.pl
      • option.pl
      • thread_pool.pl
      • gensym.pl
      • settings.pl -- Setting management
      • arithmetic.pl
      • main.pl -- Provide entry point for scripts
      • 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
      • 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
      • yall.pl -- Lambda expressions
      • sandbox.pl -- Sandboxed Prolog code
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • assoc.pl -- Binary associations
      • prolog_format.pl -- Analyse format specifications
      • 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
      • lazy_lists.pl -- Lazy list handling
      • ugraphs.pl -- Graph manipulation library
      • iostream.pl -- Utilities to deal with streams
      • 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
      • 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_map/2
        • rb_map/3
        • 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
      • dif.pl -- The dif/2 constraint
      • charsio.pl -- I/O on Lists of Character Codes
      • prolog_stack.pl -- Examine the Prolog stack
      • edinburgh.pl -- Some traditional Edinburgh predicates
      • prolog_clause.pl -- Get detailed source-information about a clause
      • prolog_breakpoints.pl -- Manage Prolog break-points
      • wfs.pl -- Well Founded Semantics interface
      • dialect.pl -- Support multiple Prolog dialects
      • prolog_code.pl -- Utilities for reasoning about code
      • sort.pl
      • dicts.pl -- Dict utilities
      • varnumbers.pl -- Utilities for numbered terms
      • strings.pl -- String utilities
      • base32.pl -- Base32 encoding and decoding
      • codesio.pl -- I/O on Lists of Character Codes
      • coinduction.pl -- Co-Logic Programming
      • date.pl -- Process dates and times
      • heaps.pl -- heaps/priority queues
      • statistics.pl -- Get information about resource usage
      • terms.pl -- Term manipulation
      • when.pl -- Conditional coroutining
      • backcomp.pl -- Backward compatibility
      • optparse.pl -- command line parsing
      • prolog_autoload.pl -- Autoload all dependencies
      • check.pl -- Consistency checking
      • prolog_config.pl -- Provide configuration information
      • help.pl -- Text based manual
      • prolog_wrap.pl -- Wrapping predicates
      • macros.pl -- Macro expansion
      • fastrw.pl -- Fast reading and writing of terms
      • prolog_versions.pl -- Demand specific (Prolog) versions
      • portray_text.pl -- Portray text
      • zip.pl -- Access resource ZIP archives
      • prolog_trace.pl -- Print access to predicates
      • explain.pl -- Describe Prolog Terms
      • prolog_metainference.pl -- Infer meta-predicate properties
      • increval.pl -- Incremental dynamic predicate modification
      • tables.pl -- XSB interface to tables
      • quintus.pl -- Quintus compatibility
      • shell.pl -- Elementary shell commands
      • make.pl -- Reload modified source files
      • qsave.pl -- Save current program as a state or executable
      • nb_set.pl -- Non-backtrackable sets
      • writef.pl -- Old-style formatted write
      • ansi_term.pl -- Print decorated text to ANSI consoles
 rb_partial_map(+Tree, +Keys, :G, -NewTree)
For all nodes Key in Keys, 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, otherwise it is the value associated with the key in Tree. Fails if Key isn't in Tree or if call(G,Val0,ValF) is not satisfiable for all Val0 in Keys. Assumes keys are sorted and not repeated (fails if this is not true).