name: ContextPool

synopsis:


g++ [flags ...] file ... -l /isip/tools/lib/$ISIP_BINARY/lib_search.a

#include <ContextPool.h>

long length() const;
Context* get(const Context& obj);
Context* foldAndAllocate(const Context* obj);
Context* extendAndAllocate(const Context* obj, GraphVertex<SearchNode>* ver);
Context* initAndAllocate();
Context* shiftAndAllocate(const Context* obj, GraphVertex<SearchNode>* ver);
Context* setCentralAndAllocate(const Context* obj, GraphVertex<SearchNode>* ver);
Context* setLastAndAllocate(const Context* obj, GraphVertex<SearchNode>* ver);
quick start:


Context some_context;
ContextPool context_pool;
GraphVertex<SearchNode> v;

Context* c1 = context_pool.get(some_context);
Context* c2 = context_pool.assignAndAdvance(c1, &v);

description:

This class caches all context variants generated during the search process and returns a unique reference to the context, which is used for quick constant-time comparisons.

dependencies:

public constants:

error codes:

protected data:

required public methods:

class-specific public methods:

private methods:

examples:

notes: