feat(UML-1462): Добавлен пример с лямбда выражением

This commit is contained in:
algin 2023-06-13 16:06:04 +03:00
parent d9fb921cd4
commit 83f77f62c0

View File

@ -191,7 +191,9 @@ private:
/*
Объект FunctorT реализует пользователь под собственные нужды и должен иметь вид
либо функтора, либо лямбды.
// Пример пользовательского функтора
class UserFunctor {
public:
// В конструктор можно передать переменные из пользовательского контекста
@ -203,11 +205,15 @@ public:
return ready_;
}
void operator()(uint8_t* process_data, uint32_t len) {
void set_ready(bool ready) {
ready_ = ready;
}
void operator()(uint8_t* raw, uint32_t len) {
// Обработка коллбека пользователем
size_t size = data_.size() * sizeof(uint8_t);
memcpy(data_.data(), process_data + offset_, size);
memcpy(data_.data(), raw + offset_, size);
ready_ = true;
@ -222,6 +228,19 @@ private:
bool ready_{false};
};
// Пример пользовательской лямбды
auto lambda = [&](uint8_t* raw, uint32_t len) {
// Обработка коллбека пользователем
size_t size = process_data.size() * sizeof(uint8_t);
address::Offset offset{0};
memcpy(process_data.data(), raw + offset, size);
ready = true;
// DebugP_log((char*)"Запрос обработан !\r\n");
};
*/
template<typename FunctorT>