From 752d01a7f1f5dc60d0efa0c5aef40f2c271a02f5 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Sat, 29 Jul 2023 12:05:06 +0200 Subject: [PATCH] Add an `enable_if` to validate the first argument to `deserializeXxx()` --- src/ArduinoJson/Deserialization/deserialize.hpp | 12 ++++++++++++ src/ArduinoJson/Json/JsonDeserializer.hpp | 11 ++++++++--- src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp | 11 ++++++++--- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/ArduinoJson/Deserialization/deserialize.hpp b/src/ArduinoJson/Deserialization/deserialize.hpp index 3140879a..17f44cbe 100644 --- a/src/ArduinoJson/Deserialization/deserialize.hpp +++ b/src/ArduinoJson/Deserialization/deserialize.hpp @@ -22,6 +22,18 @@ struct first_or_void { using type = T; }; +// A meta-function that returns true if T is a valid destination type for +// deserialize() +template +struct is_deserialize_destination : false_type {}; + +template +struct is_deserialize_destination< + T, typename enable_if())), + ResourceManager*>::value>::type> : true_type { +}; + template