8000 Kept only two namespaces ArduinoJson and ArduinoJson::Internals · janelia-arduino/ArduinoJson@e390587 · GitHub
[go: up one dir, main page]

Skip to content

Commit e390587

Browse files
committed
Kept only two namespaces ArduinoJson and ArduinoJson::Internals
1 parent bae179e commit e390587

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+241
-225
lines changed

src/ArduinoJson/Data/ValueSaver.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ struct ValueSaver {
2222
};
2323

2424
template <typename Source>
25-
struct ValueSaver<Source, typename TypeTraits::EnableIf<
26-
StringTraits<Source>::should_duplicate>::type> {
25+
struct ValueSaver<
26+
Source, typename EnableIf<StringTraits<Source>::should_duplicate>::type> {
2727
template <typename Destination>
2828
static bool save(JsonBuffer* buffer, Destination& dest, Source source) {
2929
if (!StringTraits<Source>::is_null(source)) {
@@ -40,8 +40,8 @@ struct ValueSaver<Source, typename TypeTraits::EnableIf<
4040

4141
// const char*, const signed char*, const unsigned char*
4242
template <typename Char>
43-
struct ValueSaver<Char*, typename TypeTraits::EnableIf<
44-
!StringTraits<Char*>::should_duplicate>::type> {
43+
struct ValueSaver<
44+
Char*, typename EnableIf<!StringTraits<Char*>::should_duplicate>::type> {
4545
template <typename Destination>
4646
static bool save(JsonBuffer*, Destination& dest, Char* source) {
4747
dest = reinterpret_cast<const char*>(source);

src/ArduinoJson/Deserialization/JsonParser.hpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class JsonParser {
7171

7272
template <typename TJsonBuffer, typename TString, typename Enable = void>
7373
struct JsonParserBuilder {
74-
typedef typename Internals::StringTraits<TString>::Reader InputReader;
74+
typedef typename StringTraits<TString>::Reader InputReader;
7575
typedef JsonParser<InputReader, TJsonBuffer &> TParser;
7676

7777
static TParser makeParser(TJsonBuffer *buffer, TString &json,
@@ -81,10 +81,9 @@ struct JsonParserBuilder {
8181
};
8282

8383
template <typename TJsonBuffer, typename TChar>
84-
struct JsonParserBuilder<
85-
TJsonBuffer, TChar *,
86-
typename TypeTraits::EnableIf<!TypeTraits::IsConst<TChar>::value>::type> {
87-
typedef typename Internals::StringTraits<TChar *>::Reader TReader;
84+
struct JsonParserBuilder<TJsonBuffer, TChar *,
85+
typename EnableIf<!IsConst<TChar>::value>::type> {
86+
typedef typename StringTraits<TChar *>::Reader TReader;
8887
typedef StringWriter<TChar> TWriter;
8988
typedef JsonParser<TReader, TWriter> TParser;
9089

src/ArduinoJson/Deserialization/JsonParserImpl.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,7 @@ inline bool ArduinoJson::Internals::JsonParser<TReader, TWriter>::parseObjectTo(
141141
template <typename TReader, typename TWriter>
142142
inline const char *
143143
ArduinoJson::Internals::JsonParser<TReader, TWriter>::parseString() {
144-
typename TypeTraits::RemoveReference<TWriter>::type::String str =
145-
_writer.startString();
144+
typename RemoveReference<TWriter>::type::String str = _writer.startString();
146145

147146
skipSpacesAndComments(_reader);
148147
char c = _reader.current();

src/ArduinoJson/DynamicJsonBuffer.hpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#endif
2020

2121
namespace ArduinoJson {
22+
namespace Internals {
2223
class DefaultAllocator {
2324
public:
2425
void* allocate(size_t size) {
@@ -151,6 +152,7 @@ class DynamicJsonBufferBase
151152
Block* _head;
152153
size_t _nextBlockCapacity;
153154
};
155+
}
154156

155157
#if defined(__clang__)
156158
#pragma clang diagnostic pop
@@ -163,5 +165,6 @@ class DynamicJsonBufferBase
163165
// Implements a JsonBuffer with dynamic memory allocation.
164166
// You are strongly encouraged to consider using StaticJsonBuffer which is much
165167
// more suitable for embedded systems.
166-
typedef DynamicJsonBufferBase<DefaultAllocator> DynamicJsonBuffer;
168+
typedef Internals::DynamicJsonBufferBase<Internals::DefaultAllocator>
169+
DynamicJsonBuffer;
167170
}

src/ArduinoJson/JsonArray.hpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@ namespace ArduinoJson {
2626
// Forward declarations
2727
class JsonObject;
2828
class JsonBuffer;
29+
namespace Internals {
2930
class JsonArraySubscript;
31+
}
3032

3133
// An array of JsonVariant.
3234
//
@@ -47,10 +49,10 @@ class JsonArray : public Internals::JsonPrintable<JsonArray>,
4749
: Internals::List<JsonVariant>(buffer) {}
4850

4951
// Gets the value at the specified index
50-
const JsonArraySubscript operator[](size_t index) const;
52+
const Internals::JsonArraySubscript operator[](size_t index) const;
5153

5254
// Gets or sets the value at specified index
53-
JsonArraySubscript operator[](size_t index);
55+
Internals::JsonArraySubscript operator[](size_t index);
5456

5557
// Adds the specified value at the end of the array.
5658
//
@@ -97,8 +99,7 @@ class JsonArray : public Internals::JsonPrintable<JsonArray>,
9799
// bool set(size_t index, TValue value, uint8_t decimals);
98100
// TValue = float, double
99101
template <typename T>
100-
typename TypeTraits::EnableIf<TypeTraits::IsFloatingPoint<T>::value,
101-
bool>::type
102+
typename Internals::EnableIf<Internals::IsFloatingPoint<T>::value, bool>::type
102103
set(size_t index, T value, uint8_t decimals) {
103104
return set_impl<const JsonVariant &>(index, JsonVariant(value, decimals));
104105
}

src/ArduinoJson/JsonArraySubscript.hpp

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#endif
1414

1515
namespace ArduinoJson {
16+
namespace Internals {
1617
class JsonArraySubscript : public JsonVariantBase<JsonArraySubscript> {
1718
public:
1819
FORCE_INLINE JsonArraySubscript(JsonArray& array, size_t index)
@@ -47,7 +48,7 @@ class JsonArraySubscript : public JsonVariantBase<JsonArraySubscript> {
4748
}
4849

4950
template <typename T>
50-
FORCE_INLINE typename Internals::JsonVariantAs<T>::type as() const< F438 /span> {
51+
FORCE_INLINE typename JsonVariantAs<T>::type as() const {
5152
return _array.get<T>(_index);
5253
}
5354

@@ -86,21 +87,6 @@ class JsonArraySubscript : public JsonVariantBase<JsonArraySubscript> {
8687
const size_t _index;
8788
};
8889

89-
#if ARDUINOJSON_ENABLE_STD_STREAM
90-
inline std::ostream& operator<<(std::ostream& os,
91-
const JsonArraySubscript& source) {
92-
return source.printTo(os);
93-
}
94-
#endif
95-
96-
inline JsonArraySubscript JsonArray::operator[](size_t index) {
97-
return JsonArraySubscript(*this, index);
98-
}
99-
100-
inline const JsonArraySubscript JsonArray::operator[](size_t index) const {
101-
return JsonArraySubscript(*const_cast<JsonArray*>(this), index);
102-
}
103-
10490
template <typename TImpl>
10591
inline JsonArraySubscript JsonVariantSubscripts<TImpl>::operator[](
10692
size_t index) {
@@ -113,7 +99,23 @@ inline const JsonArraySubscript JsonVariantSubscripts<TImpl>::operator[](
11399
return impl()->template as<JsonArray>()[index];
114100
}
115101

116-
} // namespace ArduinoJson
102+
#if ARDUINOJSON_ENABLE_STD_STREAM
103+
inline std::ostream& operator<<(std::ostream& os,
104+
const JsonArraySubscript& source) {
105+
return source.printTo(os);
106+
}
107+
#endif
108+
}
109+
110+
inline Internals::JsonArraySubscript JsonArray::operator[](size_t index) {
111+
return Internals::JsonArraySubscript(*this, index);
112+
}
113+
114+
inline const Internals::JsonArraySubscript JsonArray::operator[](
115+
size_t index) const {
116+
return Internals::JsonArraySubscript(*const_cast<JsonArray*>(this), index);
117+
}
118+
}
117119

118120
#ifdef _MSC_VER
119121
#pragma warning(pop)

src/ArduinoJson/JsonBuffer.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ class JsonBuffer : Internals::NonCopyable {
4242
// TValue = const std::string&, const String&,
4343
template <typename TString>
4444
DEPRECATED("char* are duplicated, you don't need strdup() anymore")
45-
typename TypeTraits::EnableIf<!TypeTraits::IsArray<TString>::value,
46-
const char *>::type strdup(const TString &src) {
45+
typename Internals::EnableIf<!Internals::IsArray<TString>::value,
46+
const char *>::type strdup(const TString &src) {
4747
return Internals::StringTraits<TString>::duplicate(src, this);
4848
}
4949
//

src/ArduinoJson/JsonBufferBase.hpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include "Deserialization/JsonParser.hpp"
88

99
namespace ArduinoJson {
10+
namespace Internals {
1011
template <typename TDerived>
1112
class JsonBufferBase : public JsonBuffer {
1213
public:
@@ -25,8 +26,8 @@ class JsonBufferBase : public JsonBuffer {
2526
// JsonArray& parseArray(TString);
2627
// TString = const std::string&, const String&
2728
template <typename TString>
28-
typename TypeTraits::EnableIf<!TypeTraits::IsArray<TString>::value,
29-
JsonArray &>::type
29+
typename Internals::EnableIf<!Internals::IsArray<TString>::value,
30+
JsonArray &>::type
3031
parseArray(const TString &json,
3132
uint8_t nestingLimit = ARDUINOJSON_DEFAULT_NESTING_LIMIT) {
3233
return Internals::makeParser(that(), json, nestingLimit).parseArray();
@@ -62,8 +63,8 @@ class JsonBufferBase : public JsonBuffer {
6263
// JsonObject& parseObject(TString);
6364
// TString = const std::string&, const String&
6465
template <typename TString>
65-
typename TypeTraits::EnableIf<!TypeTraits::IsArray<TString>::value,
66-
JsonObject &>::type
66+
typename Internals::EnableIf<!Internals::IsArray<TString>::value,
67+
JsonObject &>::type
6768
parseObject(const TString &json,
6869
uint8_t nestingLimit = ARDUINOJSON_DEFAULT_NESTING_LIMIT) {
6970
return Internals::makeParser(that(), json, nestingLimit).parseObject();
@@ -91,8 +92,8 @@ class JsonBufferBase : public JsonBuffer {
9192
// JsonVariant parse(TString);
9293
// TString = const std::string&, const String&
9394
template <typename TString>
94-
typename TypeTraits::EnableIf<!TypeTraits::IsArray<TString>::value,
95-
JsonVariant>::type
95+
typename Internals::EnableIf<!Internals::IsArray<TString>::value,
96+
JsonVariant>::type
9697
parse(const TString &json,
9798
uint8_t nestingLimit = ARDUINOJSON_DEFAULT_NESTING_LIMIT) {
9899
return Internals::makeParser(that(), json, nestingLimit).parseVariant();
@@ -123,3 +124,4 @@ class JsonBufferBase : public JsonBuffer {
123124
}
124125
};
125126
}
127+
}

src/ArduinoJson/JsonObject.hpp

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ namespace ArduinoJson {
2626
// Forward declarations
2727
class JsonArray;
2828
class JsonBuffer;
29+
namespace Internals {
30+
template <typename>
31+
class JsonObjectSubscript;
32+
}
2933

3034
// A dictionary of JsonVariant indexed by string (char*)
3135
//
@@ -50,33 +54,36 @@ class JsonObject : public Internals::JsonPrintable<JsonObject>,
5054
// JsonObjectSubscript operator[](TKey)
5155
// TKey = const std::string&, const String&
5256
template <typename TString>
53-
JsonObjectSubscript<const TString&> operator[](const TString& key) {
54-
return JsonObjectSubscript<const TString&>(*this, key);
57+
Internals::JsonObjectSubscript<const TString&> operator[](
58+
const TString& key) {
59+
return Internals::JsonObjectSubscript<const TString&>(*this, key);
5560
}
5661
//
5762
// JsonObjectSubscript operator[](TKey)
5863
// TKey = char*, const char*, char[], const char[N], const FlashStringHelper*
5964
template <typename TString>
60-
JsonObjectSubscript<TString*> operator[](TString* key) {
61-
return JsonObjectSubscript<TString*>(*this, key);
65+
Internals::JsonObjectSubscript<TString*> operator[](TString* key) {
66+
return Internals::JsonObjectSubscript<TString*>(*this, key);
6267
}
6368

6469
// Gets the value associated with the specified key.
6570
//
6671
// const JsonObjectSubscript operator[](TKey) const;
6772
// TKey = const std::string&, const String&
6873
template <typename TString>
69-
const JsonObjectSubscript<const TString&> operator[](
74+
const Internals::JsonObjectSubscript<const TString&> operator[](
7075
const TString& key) const {
71-
return JsonObjectSubscript<const TString&>(*const_cast<JsonObject*>(this),
72-
key);
76+
return Internals::JsonObjectSubscript<const TString&>(
77+
*const_cast<JsonObject*>(this), key);
7378
}
7479
//
7580
// const JsonObjectSubscript operator[](TKey) const;
7681
// TKey = const char*, const char[N], const FlashStringHelper*
7782
template <typename TString>
78-
const JsonObjectSubscript<TString*> operator[](TString* key) const {
79-
return JsonObjectSubscript<TString*>(*const_cast<JsonObject*>(this), key);
83+
const Internals::JsonObjectSubscript<TString*> operator[](
84+
TString* key) const {
85+
return Internals::JsonObjectSubscript<TString*>(
86+
*const_cast<JsonObject*>(this), key);
8087
}
8188

8289
// Sets the specified key with the specified value.
@@ -120,8 +127,8 @@ class JsonObject : public Internals::JsonPrintable<JsonObject>,
120127
// TValue = float, double
121128
template <typename TValue, typename TString>
122129
DEPRECATED("Second argument is not supported anymore")
123-
typename TypeTraits::EnableIf<TypeTraits::IsFloatingPoint<TValue>::value,
124-
bool>::type
130+
typename Internals::EnableIf<Internals::IsFloatingPoint<TValue>::value,
131+
bool>::type
125132
set(const TString& key, TValue value, uint8_t) {
126133
return set_impl<const TString&, const JsonVariant&>(key,
127134
JsonVariant(value));
@@ -132,8 +139,8 @@ class JsonObject : public Internals::JsonPrintable<JsonObject>,
132139
// TValue = float, double
133140
template <typename TValue, typename TString>
134141
DEPRECATED("Second argument is not supported anymore")
135-
typename TypeTraits::EnableIf<TypeTraits::IsFloatingPoint<TValue>::value,
136-
bool>::type
142+
typename Internals::EnableIf<Internals::IsFloatingPoint<TValue>::value,
143+
bool>::type
137144
set(TString* key, TValue value, uint8_t) {
138145
return set_impl<TString*, const JsonVariant&>(key, JsonVariant(value));
139146
}

src/ArduinoJson/JsonObjectSubscript.hpp

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#endif
1515

1616
namespace ArduinoJson {
17+
namespace Internals {
1718

1819
template <typename TStringRef>
1920
class JsonObjectSubscript
@@ -35,10 +36,8 @@ class JsonObjectSubscript
3536
// TValue = bool, char, long, int, short, float, double,
3637
// std::string, String, JsonArray, JsonObject
3738
template <typename TValue>
38-
FORCE_INLINE
39-
typename TypeTraits::EnableIf<!TypeTraits::IsArray<TValue>::value,
40-
this_type&>::type
41-
operator=(const TValue& src) {
39+
FORCE_INLINE typename EnableIf<!IsArray<TValue>::value, this_type&>::type
40+
operator=(const TValue& src) {
4241
_object.set(_key, src);
4342
return *this;
4443
}
@@ -56,7 +55,7 @@ class JsonObjectSubscript
5655
}
5756

5857
template <typename TValue>
59-
FORCE_INLINE typename Internals::JsonVariantAs<TValue>::type as() const {
58+
FORCE_INLINE typename JsonVariantAs<TValue>::type as() const {
6059
return _object.get<TValue>(_key);
6160
}
6261

@@ -71,10 +70,8 @@ class JsonObjectSubscript
7170
// TValue = bool, char, long, int, short, float, double, RawJson, JsonVariant,
7271
// std::string, String, JsonArray, JsonObject
7372
template <typename TValue>
74-
FORCE_INLINE
75-
typename TypeTraits::EnableIf<!TypeTraits::IsArray<TValue>::value,
76-
bool>::type
77-
set(const TValue& value) {
73+
FORCE_INLINE typename EnableIf<!IsArray<TValue>::value, bool>::type set(
74+
const TValue& value) {
7875
return _object.set(_key, value);
7976
}
8077
//
@@ -105,7 +102,8 @@ inline std::ostream& operator<<(std::ostream& os,
105102
return source.printTo(os);
106103
}
107104
#endif
108-
} // namespace ArduinoJson
105+
}
106+
}
109107

110108
#ifdef _MSC_VER
111109
#pragma warning(pop)

0 commit comments

Comments
 (0)
0