feat(UML-1462): Добавлен пример с лямбда выражением
This commit is contained in:
parent
d9fb921cd4
commit
83f77f62c0
@ -191,7 +191,9 @@ private:
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
Объект FunctorT реализует пользователь под собственные нужды и должен иметь вид
|
Объект FunctorT реализует пользователь под собственные нужды и должен иметь вид
|
||||||
|
либо функтора, либо лямбды.
|
||||||
|
|
||||||
|
// Пример пользовательского функтора
|
||||||
class UserFunctor {
|
class UserFunctor {
|
||||||
public:
|
public:
|
||||||
// В конструктор можно передать переменные из пользовательского контекста
|
// В конструктор можно передать переменные из пользовательского контекста
|
||||||
@ -203,11 +205,15 @@ public:
|
|||||||
return ready_;
|
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);
|
size_t size = data_.size() * sizeof(uint8_t);
|
||||||
|
|
||||||
memcpy(data_.data(), process_data + offset_, size);
|
memcpy(data_.data(), raw + offset_, size);
|
||||||
|
|
||||||
ready_ = true;
|
ready_ = true;
|
||||||
|
|
||||||
@ -222,6 +228,19 @@ private:
|
|||||||
bool ready_{false};
|
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>
|
template<typename FunctorT>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user