@@ -11,27 +11,26 @@ ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE
1111
1212// Copies a value to a JsonVariant.
1313// This is a degenerated form of copyArray() to stop the recursion.
14- template <typename T>
15- inline detail::enable_if_t <!detail::is_array<T>::value, bool > copyArray (
16- const T& src, JsonVariant dst) {
14+ template <typename T, detail::enable_if_t <!detail::is_array<T>::value, int > = 0 >
15+ inline bool copyArray (const T& src, JsonVariant dst) {
1716 return dst.set (src);
1817}
1918
2019// Copies values from an array to a JsonArray or a JsonVariant.
2120// https://arduinojson.org/v7/api/misc/copyarray/
22- template <typename T, size_t N, typename TDestination>
23- inline detail::enable_if_t <
24- !detail::is_base_of<JsonDocument, TDestination>::value, bool >
25- copyArray (T (&src)[N], const TDestination& dst) {
21+ template <typename T, size_t N, typename TDestination,
22+ detail::enable_if_t <
23+ !detail::is_base_of<JsonDocument, TDestination>::value, int > = 0 >
24+ inline bool copyArray (T (&src)[N], const TDestination& dst) {
2625 return copyArray (src, N, dst);
2726}
2827
2928// Copies values from an array to a JsonArray or a JsonVariant.
3029// https://arduinojson.org/v7/api/misc/copyarray/
31- template <typename T, typename TDestination>
32- inline detail::enable_if_t <
33- !detail::is_base_of<JsonDocument, TDestination>::value, bool >
34- copyArray (const T* src, size_t len, const TDestination& dst) {
30+ template <typename T, typename TDestination,
31+ detail::enable_if_t <
32+ !detail::is_base_of<JsonDocument, TDestination>::value, int > = 0 >
33+ inline bool copyArray (const T* src, size_t len, const TDestination& dst) {
3534 bool ok = true ;
3635 for (size_t i = 0 ; i < len; i++) {
3736 ok &= copyArray (src[i], dst.template add <JsonVariant>());
@@ -62,9 +61,8 @@ inline bool copyArray(const T* src, size_t len, JsonDocument& dst) {
6261
6362// Copies a value from a JsonVariant.
6463// This is a degenerated form of copyArray() to stop the recursion.
65- template <typename T>
66- inline detail::enable_if_t <!detail::is_array<T>::value, size_t > copyArray (
67- JsonVariantConst src, T& dst) {
64+ template <typename T, detail::enable_if_t <!detail::is_array<T>::value, int > = 0 >
65+ inline size_t copyArray (JsonVariantConst src, T& dst) {
6866 dst = src.as <T>();
6967 return 1 ;
7068}
@@ -102,11 +100,12 @@ inline size_t copyArray(JsonVariantConst src, char (&dst)[N]) {
102100
103101// Copies values from a JsonDocument to an array.
104102// https://arduinojson.org/v7/api/misc/copyarray/
105- template <typename TSource, typename T>
106- inline detail::enable_if_t <detail::is_array<T>::value &&
107- detail::is_base_of<JsonDocument, TSource>::value,
108- size_t >
109- copyArray (const TSource& src, T& dst) {
103+ template <
104+ typename TSource, typename T,
105+ detail::enable_if_t <detail::is_array<T>::value &&
106+ detail::is_base_of<JsonDocument, TSource>::value,
107+ int > = 0 >
108+ inline size_t copyArray (const TSource& src, T& dst) {
110109 return copyArray (src.template as <JsonArrayConst>(), dst);
111110}
112111
0 commit comments