Package: Immutables 1.0.1

Shawn T. ONeil

Immutables: Fast and Functional Data Structures

Provides fast, side-effect free data structures, including catenable named lists, priority queues, double-ended queues, ordered sequences, and interval indices. Implementation is based on the finger-tree data structure of Hinze and Paterson (2006) <doi:10.1017/S0956796805005769>.

Authors:Shawn T. O'Neil [aut, cre]

Immutables_1.0.1.tar.gz
Immutables_1.0.1.zip(r-4.7)Immutables_1.0.1.zip(r-4.6)Immutables_1.0.1.zip(r-4.5)
Immutables_1.0.1.tgz(r-4.6-x86_64)Immutables_1.0.1.tgz(r-4.6-arm64)Immutables_1.0.1.tgz(r-4.5-x86_64)Immutables_1.0.1.tgz(r-4.5-arm64)
Immutables_1.0.1.tar.gz(r-4.7-arm64)Immutables_1.0.1.tar.gz(r-4.7-x86_64)Immutables_1.0.1.tar.gz(r-4.6-arm64)Immutables_1.0.1.tar.gz(r-4.6-x86_64)
Immutables_1.0.1.tgz(r-4.6-emscripten)
manual.pdf |manual.html
card.svg |card.png
Immutables/json (API)
NEWS

# Install 'Immutables' in R:
install.packages('Immutables', repos = c('https://oneilsh.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/oneilsh/immutables/issues

Pkgdown/docs site:https://oneilsh.github.io

Uses libs:
  • c++– GNU Standard C++ Library v3

On CRAN:

Conda:

functional-programmingpriority-queuesequencecpp

4.75 score 6 stars 17 scripts 299 downloads 70 exports 5 dependencies

Last updated from:0a428a8436. Checks:11 WARNING, 1 ERROR, 1 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64WARNING207
linux-devel-x86_64WARNING228
source / vignettesERROR310
linux-release-arm64WARNING170
linux-release-x86_64WARNING174
macos-release-arm64WARNING163
macos-release-x86_64WARNING476
macos-oldrel-arm64WARNING322
macos-oldrel-x86_64WARNING364
windows-develWARNING183
windows-releaseWARNING243
windows-oldrelWARNING177
wasm-releaseOK135

Exports:add_monoidsas_flexseqas_interval_indexas_ordered_sequenceas_priority_queuecount_betweencount_keyelements_betweenfapplyflexseqget_measureget_measuresinsertinsert_atinterval_indexlocate_by_predicatelooplower_boundmax_endpointmax_keymax_prioritymeasure_monoidmin_endpointmin_keymin_priorityordered_sequencepeek_all_containingpeek_all_keypeek_all_maxpeek_all_minpeek_all_overlapspeek_all_pointpeek_all_withinpeek_atpeek_backpeek_containingpeek_frontpeek_keypeek_maxpeek_minpeek_overlapspeek_pointpeek_withinplot_structurepop_all_containingpop_all_keypop_all_maxpop_all_minpop_all_overlapspop_all_pointpop_all_withinpop_atpop_backpop_containingpop_frontpop_keypop_maxpop_minpop_overlapspop_pointpop_withinpriority_queuepush_backpush_frontsplit_around_by_predicatesplit_atsplit_by_predicateupper_boundvalidate_name_statevalidate_tree

Dependencies:coroformatRlambda.rRcpprlang

Readme and manuals

Help Manual

Help pageTopics
Flexseq Indexing$.flexseq $<-.flexseq [.flexseq [<-.flexseq [[.flexseq [[<-.flexseq
Add or Merge Measure Monoidsadd_monoids
Coerce Objects to 'flexseq'as_flexseq
Build an Interval Index from 'x', 'start', and 'end'as_interval_index
Iterate over a 'flexseq' (coro iterator)as_iterator.flexseq
Iterate over a 'priority_queue' (coro iterator)as_iterator.priority_queue
Build an Ordered Sequence from 'x' and 'keys'as_ordered_sequence
Build a Priority Queue from 'x' and 'priorities'as_priority_queue
Coerce a Sequence to Base Listas.list.flexseq
Coerce Interval Index to Listas.list.interval_index
Coerce Ordered Sequence to Listas.list.ordered_sequence
Coerce Priority Queue to Listas.list.priority_queue
Concatenate Sequencesc.flexseq
Count Elements in a Key Rangecount_between
Count Elements Matching One Keycount_key
Return Elements in a Key Rangeelements_between
Fapply with S3 dispatchfapply
Construct a Persistent Flexible Sequenceflexseq
Read a Cached Subtree Measureget_measure
Read Per-Element Monoid Measuresget_measures
Insert an Elementinsert
Insert Elements at a Positioninsert_at
Construct an Interval Indexinterval_index
Sequence Lengthlength.flexseq
Interval Index Lengthlength.interval_index
Ordered Sequence Lengthlength.ordered_sequence
Priority Queue Lengthlength.priority_queue
Locate First Predicate Matchlocate_by_predicate
Iterate over an iterator (re-exported from coro)loop
Find First Element with Key '>=' Querylower_bound
Maximum Right Endpointmax_endpoint
Maximum Key Valuemax_key
Maximum Priority Valuemax_priority
Construct a Measure Monoid Specificationmeasure_monoid
Merge Two Sequencesmerge.flexseq
Merge Two Interval Indicesmerge.interval_index
Merge Two Ordered Sequencesmerge.ordered_sequence
Merge Two Priority Queuesmerge.priority_queue
Minimum Left Endpointmin_endpoint
Minimum Key Valuemin_key
Minimum Priority Valuemin_priority
Construct an Ordered Sequenceordered_sequence
Peek All Intervals Containing a Query Intervalpeek_all_containing
Peek All Elements for One Keypeek_all_key
Peek All Maximum-Priority Elementspeek_all_max
Peek All Minimum-Priority Elementspeek_all_min
Peek All Intervals Overlapping a Query Intervalpeek_all_overlaps
Peek All Intervals Matching a Pointpeek_all_point
Peek All Intervals Within a Query Intervalpeek_all_within
Peek at an Element by Positionpeek_at
Peek at the Back Elementpeek_back
Peek First Interval Containing a Query Intervalpeek_containing
Peek at the Front Elementpeek_front
Peek First Element for One Keypeek_key
Peek Maximum-Priority Elementpeek_max
Peek Minimum-Priority Elementpeek_min
Peek First Interval Overlapping a Query Intervalpeek_overlaps
Peek First Interval Matching a Pointpeek_point
Peek First Interval Within a Query Intervalpeek_within
Plot the Internal Finger-Tree Structureplot_structure
Pop All Containing Intervalspop_all_containing
Pop All Elements for One Keypop_all_key
Pop All Maximum-Priority Elementspop_all_max
Pop All Minimum-Priority Elementspop_all_min
Pop All Overlapping Intervalspop_all_overlaps
Pop All Intervals Matching a Pointpop_all_point
Pop All Intervals Within a Query Intervalpop_all_within
Pop an Element by Positionpop_at
Pop the Back Elementpop_back
Pop First Containing Intervalpop_containing
Pop the Front Elementpop_front
Pop First Element for One Keypop_key
Pop Maximum-Priority Elementpop_max
Pop Minimum-Priority Elementpop_min
Pop First Overlapping Intervalpop_overlaps
Pop First Interval Matching a Pointpop_point
Pop First Interval Within a Query Intervalpop_within
Print a flexseqprint.flexseq
Print an Interval Index Summaryprint.interval_index
Print an Ordered Sequence Summaryprint.ordered_sequence
Print a Priority Queue Summaryprint.priority_queue
Construct a Priority Queuepriority_queue
Push an Element to the Backpush_back
Push an Element to the Frontpush_front
Split Around First Predicate Matchsplit_around_by_predicate
Split at a Position or Namesplit_at
Split into Left and Right Partssplit_by_predicate
Indexing for Interval Indexes$.interval_index $<-.interval_index sub-.interval_index [.interval_index [<-.interval_index [[.interval_index [[<-.interval_index
Indexing for Ordered Sequences$.ordered_sequence $<-.ordered_sequence sub-.ordered_sequence [.ordered_sequence [<-.ordered_sequence [[.ordered_sequence [[<-.ordered_sequence
Indexing for Priority Queues$.priority_queue $<-.priority_queue sub-.priority_queue [.priority_queue [<-.priority_queue [[.priority_queue [[<-.priority_queue
Coerce a Sequence to an Atomic Vectorunlist.flexseq
Find First Element with Key '>' Queryupper_bound
Validate name-state invariants only (debug/test utility)validate_name_state
Validate full tree invariants (debug/test utility)validate_tree