ExtensibleLinearAggregate(S)
aggcat.spad line 2179
[edit on github]
An extensible aggregate is one which allows insertion and deletion of entries. These aggregates are models of lists which are represented by linked structures so as to make insertion, deletion, and concatenation efficient. However, access to elements of these extensible aggregates is generally slow since access is made from the end. See FlexibleArray for an exception.
- # : % -> NonNegativeInteger if % has finiteAggregate
- from Aggregate
- < : (%, %) -> Boolean if S has OrderedSet and % has finiteAggregate
- from PartialOrder
- <= : (%, %) -> Boolean if S has OrderedSet and % has finiteAggregate
- from PartialOrder
- = : (%, %) -> Boolean if S has SetCategory or S has Hashable and % has finiteAggregate or S has BasicType and % has finiteAggregate
- from BasicType
- > : (%, %) -> Boolean if S has OrderedSet and % has finiteAggregate
- from PartialOrder
- >= : (%, %) -> Boolean if S has OrderedSet and % has finiteAggregate
- from PartialOrder
- any? : (Mapping(Boolean, S), %) -> Boolean if % has finiteAggregate
- from HomogeneousAggregate(S)
- coerce : % -> OutputForm if S has CoercibleTo(OutputForm)
- from CoercibleTo(OutputForm)
- concat : (%, %) -> %
- from LinearAggregate(S)
- concat : (%, S) -> %
- from LinearAggregate(S)
- concat : (S, %) -> %
- from LinearAggregate(S)
- concat : List(%) -> %
- from LinearAggregate(S)
- concat! : (%, %) -> %
concat!(u, v)
destructively appends v
to the end of u
. v
is unchanged
- concat! : (%, S) -> %
concat!(u, x)
destructively adds element x
to the end of u
.
- construct : List(S) -> %
- from Collection(S)
- convert : % -> InputForm if S has ConvertibleTo(InputForm)
- from ConvertibleTo(InputForm)
- copy : % -> %
- from Aggregate
- copyInto! : (%, %, Integer) -> % if % has finiteAggregate
- from LinearAggregate(S)
- count : (S, %) -> NonNegativeInteger if S has BasicType and % has finiteAggregate
- from HomogeneousAggregate(S)
- count : (Mapping(Boolean, S), %) -> NonNegativeInteger if % has finiteAggregate
- from HomogeneousAggregate(S)
- delete : (%, Integer) -> %
- from LinearAggregate(S)
- delete : (%, UniversalSegment(Integer)) -> %
- from LinearAggregate(S)
- delete! : (%, Integer) -> %
delete!(u, i)
destructively deletes the i
th element of u
.
- delete! : (%, UniversalSegment(Integer)) -> %
delete!(u, i..j)
destructively deletes elements u
.i
through u
.j
.
- elt : (%, UniversalSegment(Integer)) -> %
- from Eltable(UniversalSegment(Integer), %)
- elt : (%, Integer) -> S
- from Eltable(Integer, S)
- elt : (%, Integer, S) -> S
- from EltableAggregate(Integer, S)
- empty : () -> %
- from Aggregate
- empty? : % -> Boolean
- from Aggregate
- entries : % -> List(S)
- from IndexedAggregate(Integer, S)
- entry? : (S, %) -> Boolean if S has BasicType and % has finiteAggregate
- from IndexedAggregate(Integer, S)
- eq? : (%, %) -> Boolean
- from Aggregate
- eval : (%, S, S) -> % if S has Evalable(S) and S has SetCategory
- from InnerEvalable(S, S)
- eval : (%, Equation(S)) -> % if S has Evalable(S) and S has SetCategory
- from Evalable(S)
- eval : (%, List(S), List(S)) -> % if S has Evalable(S) and S has SetCategory
- from InnerEvalable(S, S)
- eval : (%, List(Equation(S))) -> % if S has Evalable(S) and S has SetCategory
- from Evalable(S)
- every? : (Mapping(Boolean, S), %) -> Boolean if % has finiteAggregate
- from HomogeneousAggregate(S)
- fill! : (%, S) -> %
- from IndexedAggregate(Integer, S)
- find : (Mapping(Boolean, S), %) -> Union(S, "failed")
- from Collection(S)
- first : (%, NonNegativeInteger) -> %
- from LinearAggregate(S)
- first : % -> S
- from IndexedAggregate(Integer, S)
- hash : % -> SingleInteger if S has Hashable and % has finiteAggregate
- from Hashable
- hashUpdate! : (HashState, %) -> HashState if S has Hashable and % has finiteAggregate
- from Hashable
- index? : (Integer, %) -> Boolean
- from IndexedAggregate(Integer, S)
- indices : % -> List(Integer)
- from IndexedAggregate(Integer, S)
- insert : (%, %, Integer) -> %
- from LinearAggregate(S)
- insert : (S, %, Integer) -> %
- from LinearAggregate(S)
- insert! : (%, %, Integer) -> %
insert!(v, u, i)
destructively inserts aggregate v
into u
at position i
.
- insert! : (S, %, Integer) -> %
insert!(x, u, i)
destructively inserts x
into u
at position i
.
- latex : % -> String if S has SetCategory
- from SetCategory
- leftTrim : (%, S) -> % if S has BasicType and % has finiteAggregate
- from LinearAggregate(S)
- less? : (%, NonNegativeInteger) -> Boolean
- from Aggregate
- map : (Mapping(S, S), %) -> %
- from HomogeneousAggregate(S)
- map : (Mapping(S, S, S), %, %) -> %
- from LinearAggregate(S)
- map! : (Mapping(S, S), %) -> %
- from HomogeneousAggregate(S)
- max : (%, %) -> % if S has OrderedSet and % has finiteAggregate
- from OrderedSet
- max : % -> S if S has OrderedSet and % has finiteAggregate
- from HomogeneousAggregate(S)
- max : (Mapping(Boolean, S, S), %) -> S if % has finiteAggregate
- from HomogeneousAggregate(S)
- maxIndex : % -> Integer
- from IndexedAggregate(Integer, S)
- member? : (S, %) -> Boolean if S has BasicType and % has finiteAggregate
- from HomogeneousAggregate(S)
- members : % -> List(S) if % has finiteAggregate
- from HomogeneousAggregate(S)
- merge : (%, %) -> % if S has OrderedSet and % has finiteAggregate
- from LinearAggregate(S)
- merge : (Mapping(Boolean, S, S), %, %) -> % if % has finiteAggregate
- from LinearAggregate(S)
- merge! : (%, %) -> % if S has OrderedSet
merge!(u, v)
destructively merges u
and v
in ascending order.
- merge! : (Mapping(Boolean, S, S), %, %) -> %
merge!(p, u, v)
destructively merges u
and v
using predicate p
.
- min : (%, %) -> % if S has OrderedSet and % has finiteAggregate
- from OrderedSet
- min : % -> S if S has OrderedSet and % has finiteAggregate
- from HomogeneousAggregate(S)
- minIndex : % -> Integer
- from IndexedAggregate(Integer, S)
- more? : (%, NonNegativeInteger) -> Boolean
- from Aggregate
- new : (NonNegativeInteger, S) -> %
- from LinearAggregate(S)
- parts : % -> List(S) if % has finiteAggregate
- from HomogeneousAggregate(S)
- position : (S, %) -> Integer if S has BasicType and % has finiteAggregate
- from LinearAggregate(S)
- position : (S, %, Integer) -> Integer if S has BasicType and % has finiteAggregate
- from LinearAggregate(S)
- position : (Mapping(Boolean, S), %) -> Integer if % has finiteAggregate
- from LinearAggregate(S)
- qelt : (%, Integer) -> S
- from EltableAggregate(Integer, S)
- qsetelt! : (%, Integer, S) -> S
- from EltableAggregate(Integer, S)
- reduce : (Mapping(S, S, S), %) -> S if % has finiteAggregate
- from Collection(S)
- reduce : (Mapping(S, S, S), %, S) -> S if % has finiteAggregate
- from Collection(S)
- reduce : (Mapping(S, S, S), %, S, S) -> S if S has BasicType and % has finiteAggregate
- from Collection(S)
- remove : (S, %) -> % if S has BasicType and % has finiteAggregate
- from Collection(S)
- remove : (Mapping(Boolean, S), %) -> % if % has finiteAggregate
- from Collection(S)
- remove! : (S, %) -> % if S has BasicType
remove!(x, u)
destructively removes all values x
from u
.
- remove! : (Mapping(Boolean, S), %) -> %
remove!(p, u)
destructively removes all elements x
of u
such that p(x)
is true
.
- removeDuplicates : % -> % if S has BasicType and % has finiteAggregate
- from Collection(S)
- removeDuplicates! : % -> % if S has BasicType
removeDuplicates!(u)
destructively removes duplicates from u
.
- reverse : % -> % if % has finiteAggregate
- from LinearAggregate(S)
- reverse! : % -> % if % has finiteAggregate
- from LinearAggregate(S)
- rightTrim : (%, S) -> % if S has BasicType and % has finiteAggregate
- from LinearAggregate(S)
- sample : () -> %
- from Aggregate
- select : (Mapping(Boolean, S), %) -> % if % has finiteAggregate
- from Collection(S)
- select! : (Mapping(Boolean, S), %) -> %
select!(p, u)
destructively changes u
by keeping only values x
such that p(x)
.
- setelt! : (%, Integer, S) -> S
- from EltableAggregate(Integer, S)
- setelt! : (%, UniversalSegment(Integer), S) -> S
- from LinearAggregate(S)
- size? : (%, NonNegativeInteger) -> Boolean
- from Aggregate
- smaller? : (%, %) -> Boolean if % has finiteAggregate and S has Comparable or S has OrderedSet and % has finiteAggregate
- from Comparable
- sort : % -> % if S has OrderedSet and % has finiteAggregate
- from LinearAggregate(S)
- sort : (Mapping(Boolean, S, S), %) -> % if % has finiteAggregate
- from LinearAggregate(S)
- sort! : % -> % if S has OrderedSet and % has finiteAggregate
- from LinearAggregate(S)
- sort! : (Mapping(Boolean, S, S), %) -> % if % has finiteAggregate
- from LinearAggregate(S)
- sorted? : % -> Boolean if S has OrderedSet and % has finiteAggregate
- from LinearAggregate(S)
- sorted? : (Mapping(Boolean, S, S), %) -> Boolean if % has finiteAggregate
- from LinearAggregate(S)
- swap! : (%, Integer, Integer) -> Void
- from IndexedAggregate(Integer, S)
- trim : (%, S) -> % if S has BasicType and % has finiteAggregate
- from LinearAggregate(S)
- ~= : (%, %) -> Boolean if S has SetCategory or S has Hashable and % has finiteAggregate or S has BasicType and % has finiteAggregate
- from BasicType
Comparable
ConvertibleTo(InputForm)
shallowlyMutable
InnerEvalable(S, S)
Aggregate
BasicType
LinearAggregate(S)
IndexedAggregate(Integer, S)
OrderedSet
SetCategory
Evalable(S)
HomogeneousAggregate(S)
PartialOrder
CoercibleTo(OutputForm)
Collection(S)
Eltable(UniversalSegment(Integer), %)
EltableAggregate(Integer, S)
Hashable
Eltable(Integer, S)