Aardvark.Base.Incremental


Aardvark.Base.Incremental

Aardvark.Base.Incremental Namespace

TypeDescription
AbstractDirtyReader<'t, 'ops>
AbstractReader<'ops>
AbstractReader<'s, 'ops>
AdaptiveDecorator

defines a base class for all decorated mods

AdaptiveLocksadasd
AdaptiveObject

defines a base class for all adaptive objects implementing IAdaptiveObject.

AdaptiveObjectExtensions
AdaptiveToken
CSharpEventExtensions
Cache<'a, 'b>

Cache represents a cached function which can be invoked and revoked. invoke increments the reference count for a specific argument (possibly causing the function to be executed) whereas revoke decreases the reference count and removes the cache entry whenever the reference count is 0.

Cache2<'a, 'b, 'c>

Cache represents a cached function which can be invoked and revoked. invoke increments the reference count for a specific argument (possibly causing the function to be executed) whereas revoke decreases the reference count and removes the cache entry whenever the reference count is 0.

ConstantMod<'a>
ConstantObject

defines a base class for all adaptive objects which are actually constant. Note that this class provides "dummy" implementations for all memebers defined in IAdaptiveObject and does not keep track of in-/outputs.

Controller<'a>
ControllerState
DefaultingModRef<'a>

DefaultingModRef<'a> represents a mod ref with an adaptive default value. The resulting IMod corresponds to the default value unless a custom value is set to the ref. By calling Reset (), the initial behaviour can be restored, i.e. the resulting value is dependent on the adaptive default value.

DirtyTrackingAdaptiveObject<'a>

defines a base class for all adaptive objects implementing IAdaptiveObject and providing dirty-inputs for evaluation.

DisposeThread
DuplicatePriorityQueue<'a, 'k>

implements a queue with "uncomparable" duplicates. This is helpful since regular heap implementation cannot deal with a large number of duplicated keys efficiently. Note: the duplicated values will be returned in the order they were enqueued

EvaluationExtensions
EventSampler
History<'s, 'op>
HistoryReader<'s, 'op>
IAdaptiveObject

IAdaptiveObject represents the core interface for all adaptive objects and contains everything necessary for tracking OutOfDate flags and managing in-/outputs in the dependency tree.

Since eager evalutation might be desirable in some scenarios the interface also contains a Level representing the execution order when evaluating inside a transaction and a function called Mark allowing implementations to actually perform the evaluation. Mark returns a bool since eager evaluation might cause the change propagation process to exit early (if the actual value was unchanged) In order to make adaptive objects easily identifiable all adaptive objects must also provide a globally unique id (Id)

IDisposableMod
IDisposableMod<'a>
IListReader<'a>
IMapReader<'k, 'v>
IMod

IMod is the non-generic base interface for modifiable cells. This is needed due to the lack of existential types in the .NET.

IMod<'a>

IMod<'a> represents the base interface for modifiable cells and provides a method for getting the cell's current content.

IModRef<'a>

ModRef<'a> represents a changeable input cell which can be changed by the user and implements IMod<'a>

IOpReader<'ops>
IOpReader<'s, 'ops>
ISetReader<'a>
IVersioned
IVersionedDictionary<'k, 'v>
IVersionedSet<'a>
IWeakable<'a>
LazyWithFinalizer<'a>
LevelChangedException

LevelChangedException is internally used by the system to handle level changes during the change propagation.

ModRef<'a>

ModRef<'a> represents a changeable input cell which can be changed by the user and implements IMod<'a>

MutableVolatileDirtySet<'a, 'b>
MutableVolatileTaggedDirtySet<'a, 'b, 't>
PriorityQueue<'a>

represents a simple priority queue using user-given compare function

ReferenceCountingSet<'a>

represents a set of elements having a reference count. this means that an element is contained when it has been added at least once more than removed.

RelevantNode<'s, 'a>
TrackAllThreadLocal<'a>
Transaction

Transaction holds a set of adaptive objects which have been changed and shall therefore be marked as outOfDate. Commit "propagates" these changes into the dependency-graph, takes care of the correct execution-order and acquires appropriate locks for all objects affected.

VersionedDictionary<'k, 'v>
VersionedSet<'a>
VolatileCollection<'a>
VolatileCollectionStrong<'a>
VolatileDirtySet<'a, 'b>
VolatileTaggedDirtySet<'a, 'b, 't>
WeakSet<'a>

represents a set of elements while not introducing a "garbage-collector-edge". This is desirable in scenarios where one needs to enumerate a set of things which shall be allowed to be garbage-collected.

afun<'a, 'b>
alist<'a>
amap<'k, 'v>
aset<'a>
astate<'s, 'a>
clist<'a>
cmap<'k, 'v>
corderedset<'a>
cset<'a>
hdeltamap<'k, 'v>
ModuleDescription
AFun
AFun Builder
AList
AMap
AMapBuilderExperiments
ASet
ASet -> AList interop
ASet -> AMap interop
AState
AState Builder
BvhTree
CSet
CallbackExtensions
ChangeTracker
Computation Expression Builders
Controller Builder
EvaluationUtilities
EventAdapters
FSharpEventExtensions
HDeltaMap
HMap
History
Marking
Mod

defines functions for composing mods and managing evaluation order, etc.

ModExtensions
Operators

provides special operators for composing IMods

UniqeIds

a simple module for creating unique ids

Aardvark.Base.Incremental.CSharp Namespace

TypeDescription
Adaptive
AdaptiveListExtensions
AdaptiveObjectExtensions
AdaptiveSet<'a>
AdaptiveSetExtensions
CListExtensions
ChangeableSetExtensions
EvaluationExtensions
Mod
ModExtensions

Aardvark.Base.Incremental.Validation Namespace

TypeDescription
IAdaptiveObjectValidationExtensions
Fork me on GitHub