[apps/shared] Move function store class to shared/ to be used by

sequence

Change-Id: I89380d59e3450e9c5af4bf05f520ed1a5205ba29
This commit is contained in:
Émilie Feral
2017-02-06 16:07:51 +01:00
parent 59553e69e0
commit 3164939c9d
5 changed files with 118 additions and 68 deletions

View File

@@ -0,0 +1,65 @@
#include "function_store.h"
#include <assert.h>
namespace Shared {
FunctionStore::FunctionStore() :
m_numberOfFunctions(0)
{
}
Function * FunctionStore::activeFunctionAtIndex(int i) {
assert(i>=0 && i<m_numberOfFunctions);
int index = 0;
for (int k = 0; k < m_numberOfFunctions; k++) {
if (functionAtIndex(k)->isActive() && functionAtIndex(k)->layout() != nullptr) {
if (i == index) {
return functionAtIndex(k);
}
index++;
}
}
assert(false);
return nullptr;
}
Function * FunctionStore::definedFunctionAtIndex(int i) {
assert(i>=0 && i<m_numberOfFunctions);
int index = 0;
for (int k = 0; k < m_numberOfFunctions; k++) {
if (functionAtIndex(k)->layout() != nullptr) {
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++) {
if (functionAtIndex(i)->layout() != nullptr && functionAtIndex(i)->isActive()) {
result++;
}
}
return result;
}
int FunctionStore::numberOfDefinedFunctions() {
int result = 0;
for (int i = 0; i < m_numberOfFunctions; i++) {
if (functionAtIndex(i)->layout() != nullptr) {
result++;
}
}
return result;
}
}