AbstractConstructor
initial row for the block
Protected_Blocks within the container
Protected_Initial row for the block
Protected Optional_Ownership of this block
Read access to the blocks
Allows public access to the container
Allows public access to the index
Read access to the initial row
Read access to the length
Estimates the number of rows in the block The estimate doesn't take into account coming round part-way through
Stage for the block
Receives a visitor that will be called to process each row
ProtectedcalculateDoes any calculation needed by the block
Clears references to the parent container
Read access to a block
Derived classes should provide public access via a more suitably-named method
Returns the last row in the block e.g. a course head or a course end (for Stedman)
Receives a notification from a block that has changed
index of changed block in container
ProtectednotifyNotifies the parent container
Derived classes should call this whenever the last row changes.
ProtectedpropagatePropagates data between blocks within the container
where to start when recalculating
ProtectedvisitHelper function to correctly fan out calls to multiple visitors
Abstract container that allows random insertion of child blocks
Child blocks may be inserted or removed anywhere within the container. Might be used to represent a touch of Stedman or a course of spliced.