#include "function_store.h" #include namespace Shared { FunctionStore::FunctionStore() : m_numberOfFunctions(0) { } Function * FunctionStore::activeFunctionAtIndex(int i) { assert(i>=0 && iisActive() && function->isDefined()) { if (i == index) { return function; } index++; } } assert(false); return nullptr; } Function * FunctionStore::definedFunctionAtIndex(int i) { assert(i>=0 && iisDefined()) { if (i == index) { return functionAtIndex(k); } index++; } } assert(false); return nullptr; } int FunctionStore::numberOfFunctions() { return m_numberOfFunctions; } int FunctionStore::numberOfActiveFunctions() { int result = 0; for (int i = 0; i < m_numberOfFunctions; i++) { Function * function = functionAtIndex(i); if (function->isDefined() && function->isActive()) { result++; } } return result; } int FunctionStore::numberOfDefinedFunctions() { int result = 0; for (int i = 0; i < m_numberOfFunctions; i++) { if (functionAtIndex(i)->isDefined()) { result++; } } return result; } void FunctionStore::tidy() { for (int i = 0; i < m_numberOfFunctions; i++) { functionAtIndex(i)->tidy(); } } }