feat(UML-1462): Добавлен пример с лямбда выражением
This commit is contained in:
parent
d9fb921cd4
commit
83f77f62c0
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user