BagAggregate(S)

aggcat.spad line 272 [edit on github]

A bag aggregate is an aggregate for which one can insert and extract objects, and where the order in which objects are inserted determines the order of extraction. Examples of bags are stacks, queues, and dequeues.

# : % -> NonNegativeInteger if % has finiteAggregate
from Aggregate
= : (%, %) -> Boolean if S has BasicType and % has finiteAggregate or S has SetCategory
from BasicType
any? : (Mapping(Boolean, S), %) -> Boolean if % has finiteAggregate
from HomogeneousAggregate(S)
coerce : % -> OutputForm if S has CoercibleTo(OutputForm)
from CoercibleTo(OutputForm)
construct : List(S) -> %
from Collection(S)
convert : % -> InputForm if S has ConvertibleTo(InputForm)
from ConvertibleTo(InputForm)
copy : % -> %
from Aggregate
count : (S, %) -> NonNegativeInteger if S has BasicType and % has finiteAggregate
from HomogeneousAggregate(S)
count : (Mapping(Boolean, S), %) -> NonNegativeInteger if % has finiteAggregate
from HomogeneousAggregate(S)
empty : () -> %
from Aggregate
empty? : % -> Boolean
from Aggregate
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)
extract! : % -> S

extract!(u) destructively removes a (random) item from bag u.

find : (Mapping(Boolean, S), %) -> Union(S, "failed")
from Collection(S)
insert! : (S, %) -> %

insert!(x, u) inserts item x into bag u.

inspect : % -> S

inspect(u) returns an (random) element from a bag.

latex : % -> String if S has SetCategory
from SetCategory
less? : (%, NonNegativeInteger) -> Boolean
from Aggregate
map : (Mapping(S, S), %) -> %
from HomogeneousAggregate(S)
map! : (Mapping(S, S), %) -> %
from HomogeneousAggregate(S)
max : % -> S if S has OrderedSet and % has finiteAggregate
from HomogeneousAggregate(S)
max : (Mapping(Boolean, S, S), %) -> S if % has finiteAggregate
from HomogeneousAggregate(S)
member? : (S, %) -> Boolean if S has BasicType and % has finiteAggregate
from HomogeneousAggregate(S)
members : % -> List(S) if % has finiteAggregate
from HomogeneousAggregate(S)
min : % -> S if S has OrderedSet and % has finiteAggregate
from HomogeneousAggregate(S)
more? : (%, NonNegativeInteger) -> Boolean
from Aggregate
parts : % -> List(S) if % has finiteAggregate
from HomogeneousAggregate(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)
removeDuplicates : % -> % if S has BasicType and % has finiteAggregate
from Collection(S)
sample : () -> %
from Aggregate
select : (Mapping(Boolean, S), %) -> % if % has finiteAggregate
from Collection(S)
size? : (%, NonNegativeInteger) -> Boolean
from Aggregate
~= : (%, %) -> Boolean if S has BasicType and % has finiteAggregate or S has SetCategory
from BasicType

BasicType

shallowlyMutable

HomogeneousAggregate(S)

Collection(S)

SetCategory

Evalable(S)

CoercibleTo(OutputForm)

Aggregate

ConvertibleTo(InputForm)

InnerEvalable(S, S)