This commit is contained in:
Михаил Капелько
2024-06-02 23:52:12 +03:00
parent 17a2615351
commit 49919cfea2
4 changed files with 107 additions and 55 deletions

View File

@@ -7,14 +7,18 @@
template <class T> class ctx_Controller {
T context;
std::list<void *(T)> callbacks;
/*
std::list<T *(T)> functions;
bool isProcessingQueue = false;
std::list<T> queue;
*/
public:
ctx_Controller(const T &c) {
context = c;
}
/*
void executeFunctions() {
T c = queue.front();
queue.pop_front();
@@ -78,6 +82,7 @@ template <class T> class ctx_Controller {
queue.push_back(c);
processQueue();
}
*/
};
#endif // ctx_HEADER

36
v4/ctx_test2.cpp Normal file
View File

@@ -0,0 +1,36 @@
#include <string>
#include "ctx.h"
#include "memory_Context.h"
std::string ctx_test_Controller_executeFunctions_set() {
auto c = memory_createContext();
ctx_Controller<memory_Context> ctrl(c);
/*
// Disable automatic invocation of executeFunctions.
ctrl.isProcessingQueue = true;
ctrl.set("input", "123");
auto processInput = [](const memory_Context &c) -> memory_Context {
if (c.recentField == "input") {
c.outputHelp = "Checked";
c.recentField = "outputHelp";
return c;
}
c.recentField = "none";
return c;
};
ctrl.registerFunction(processInput);
// Apply 'input'.
ctrl.executeFunctions();
// Apply 'outputHelp'.
ctrl.executeFunctions();
if (
c.input == "123" &&
c.outputHelp == "Checked"
) {
return "OK: ctx_Controller_executeFunctions_set";
}
*/
return "ERR: ctx_Controller_executeFunctions_set";
}

8
v4/ctx_test2.h Normal file
View File

@@ -0,0 +1,8 @@
#include <string>
#ifndef ctx_test_HEADER
#define ctx_test_HEADER
std::string ctx_test_Controller_executeFunctions_set();
#endif // ctx_test_HEADER

View File

@@ -1,11 +1,14 @@
#include <iostream>
#include <string>
#include <vector>
#include "ctx_test2.h"
#include "main.h"
#include "memory_Context.h"
int main() {
std::cout
<< ctx_test_Controller_executeFunctions_set()
<< std::endl
<< llm_test_isDigit_digit()
<< std::endl
<< llm_test_isDigit_notDigit()