/
vladlevin790
/
cpp-lab-2
Обзор
Документация
Войти
/
vladlevin790
/
cpp-lab-2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main.cpp
106 строк
3 KB
vladlevin790
init
05 май 2026, 21:32
05 май 2026, 21:32
3310cbd
Код
Авторство
О чём код?
#include <string> #include "app/StructureManager.hpp" #ifdef __EMSCRIPTEN__ #include <emscripten/bind.h> #endif static StructureManager manager; std::string setStructure(const std::string& structureName) { return manager.setStructure(structureName); } std::string setDataType(const std::string& dataType) { return manager.setDataType(dataType); } std::string insertValue(const std::string& value) { return manager.insertValue(value); } std::string removeLast() { return manager.removeLast(); } std::string replaceAt(int index, const std::string& value) { return manager.replaceAt(index, value); } std::string clearCurrent() { return manager.clearCurrent(); } std::string applyShiftLeftEvenPositions() { return manager.applyShiftLeftEvenPositions(); } std::string calculateMeanJson() { return manager.calculateMeanJson(); } std::string fillDemoData(int count) { return manager.fillDemoData(count); } std::string getAsciiPreviewJson() { return manager.getAsciiPreviewJson(); } std::string getStateJson() { return manager.getStateJson(); } std::string getItemsWindowJson(int start, int count) { return manager.getItemsWindowJson(start, count); } std::string getLastOperationJson() { return manager.getLastOperationJson(); } #ifdef __EMSCRIPTEN__ EMSCRIPTEN_BINDINGS(data_structures_lab_module) { emscripten::function("setStructure", &setStructure); emscripten::function("setDataType", &setDataType); emscripten::function("insertValue", &insertValue); emscripten::function("removeLast", &removeLast); emscripten::function("replaceAt", &replaceAt); emscripten::function("clearCurrent", &clearCurrent); emscripten::function("applyShiftLeftEvenPositions", &applyShiftLeftEvenPositions); emscripten::function("calculateMeanJson", &calculateMeanJson); emscripten::function("fillDemoData", &fillDemoData); emscripten::function("getAsciiPreviewJson", &getAsciiPreviewJson); emscripten::function("getStateJson", &getStateJson); emscripten::function("getItemsWindowJson", &getItemsWindowJson); emscripten::function("getLastOperationJson", &getLastOperationJson); } #else #include <iostream> int main() { std::cout << "Native debug mode\n"; manager.setStructure("Vector"); manager.insertValue("3"); manager.insertValue("5"); manager.insertValue("7"); manager.insertValue("10"); std::cout << manager.getStateJson() << "\n"; manager.applyShiftLeftEvenPositions(); std::cout << manager.getStateJson() << "\n"; std::cout << manager.getLastOperationJson() << "\n"; std::cout << manager.calculateMeanJson() << "\n"; return 0; } #endif