Try to fix more gcc/clang compilation errors
This commit is contained in:
parent
601a62e5b3
commit
1b9cab7f12
@ -26,7 +26,7 @@ public:
|
|||||||
typedef typename EncodingType::Ch Ch;
|
typedef typename EncodingType::Ch Ch;
|
||||||
|
|
||||||
struct Token {
|
struct Token {
|
||||||
const typename Ch* name;
|
const Ch* name;
|
||||||
SizeType length;
|
SizeType length;
|
||||||
SizeType index; //!< A valid index if not equal to kInvalidIndex.
|
SizeType index; //!< A valid index if not equal to kInvalidIndex.
|
||||||
};
|
};
|
||||||
@ -149,11 +149,12 @@ public:
|
|||||||
ValueType* v = &root;
|
ValueType* v = &root;
|
||||||
bool exist = true;
|
bool exist = true;
|
||||||
for (Token *t = tokens_; t != tokens_ + tokenCount_; ++t) {
|
for (Token *t = tokens_; t != tokens_ + tokenCount_; ++t) {
|
||||||
if (v->GetType() != kObjectType && v->GetType() != kArrayType)
|
if (v->GetType() != kObjectType && v->GetType() != kArrayType) {
|
||||||
if (t->index == kInvalidIndex)
|
if (t->index == kInvalidIndex)
|
||||||
v->SetObject();
|
v->SetObject();
|
||||||
else
|
else
|
||||||
v->SetArray();
|
v->SetArray();
|
||||||
|
}
|
||||||
|
|
||||||
switch (v->GetType()) {
|
switch (v->GetType()) {
|
||||||
case kObjectType:
|
case kObjectType:
|
||||||
@ -220,8 +221,10 @@ public:
|
|||||||
ValueType& GetWithDefault(ValueType& root, const ValueType& defaultValue, typename ValueType::AllocatorType& allocator) const {
|
ValueType& GetWithDefault(ValueType& root, const ValueType& defaultValue, typename ValueType::AllocatorType& allocator) const {
|
||||||
bool alreadyExist;
|
bool alreadyExist;
|
||||||
Value& v = Create(root, allocator, &alreadyExist);
|
Value& v = Create(root, allocator, &alreadyExist);
|
||||||
if (!alreadyExist)
|
if (!alreadyExist) {
|
||||||
v = Value(defaultValue, allocator);
|
Value clone(defaultValue, allocator);
|
||||||
|
v = clone;
|
||||||
|
}
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -332,7 +335,7 @@ typename T::ValueType& CreateValueByPointer(T& root, const GenericPointer<typena
|
|||||||
|
|
||||||
template <typename T, typename CharType, size_t N>
|
template <typename T, typename CharType, size_t N>
|
||||||
typename T::ValueType& CreateValueByPointer(T& root, const CharType(&source)[N], typename T::AllocatorType& a) {
|
typename T::ValueType& CreateValueByPointer(T& root, const CharType(&source)[N], typename T::AllocatorType& a) {
|
||||||
const Pointer pointer(source, N - 1);
|
const GenericPointer<typename T::ValueType> pointer(source, N - 1);
|
||||||
return pointer.Create(root, a);
|
return pointer.Create(root, a);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -348,13 +351,13 @@ const typename T::ValueType* GetValueByPointer(const T& root, const GenericPoint
|
|||||||
|
|
||||||
template <typename T, typename CharType, size_t N>
|
template <typename T, typename CharType, size_t N>
|
||||||
typename T::ValueType* GetValueByPointer(T& root, const CharType (&source)[N]) {
|
typename T::ValueType* GetValueByPointer(T& root, const CharType (&source)[N]) {
|
||||||
const Pointer pointer(source, N - 1);
|
const GenericPointer<typename T::ValueType> pointer(source, N - 1);
|
||||||
return pointer.Get(root);
|
return pointer.Get(root);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T, typename CharType, size_t N>
|
template <typename T, typename CharType, size_t N>
|
||||||
const typename T::ValueType* GetValueByPointer(const T& root, const CharType(&source)[N]) {
|
const typename T::ValueType* GetValueByPointer(const T& root, const CharType(&source)[N]) {
|
||||||
const Pointer pointer(source, N - 1);
|
const GenericPointer<typename T::ValueType> pointer(source, N - 1);
|
||||||
return pointer.Get(root);
|
return pointer.Get(root);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,7 +368,7 @@ typename T::ValueType& GetValueByPointerWithDefault(T& root, const GenericPointe
|
|||||||
|
|
||||||
template <typename T, typename CharType, size_t N>
|
template <typename T, typename CharType, size_t N>
|
||||||
typename T::ValueType& GetValueByPointerWithDefault(T& root, const CharType(&source)[N], const typename T::ValueType& defaultValue, typename T::AllocatorType& a) {
|
typename T::ValueType& GetValueByPointerWithDefault(T& root, const CharType(&source)[N], const typename T::ValueType& defaultValue, typename T::AllocatorType& a) {
|
||||||
const Pointer pointer(source, N - 1);
|
const GenericPointer<typename T::ValueType> pointer(source, N - 1);
|
||||||
return pointer.GetWithDefault(root, defaultValue, a);
|
return pointer.GetWithDefault(root, defaultValue, a);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -376,7 +379,7 @@ typename T::ValueType& SetValueByPointer(T& root, const GenericPointer<typename
|
|||||||
|
|
||||||
template <typename T, typename CharType, size_t N>
|
template <typename T, typename CharType, size_t N>
|
||||||
typename T::ValueType& SetValueByPointer(T& root, const CharType(&source)[N], typename T::ValueType& value, typename T::AllocatorType& a) {
|
typename T::ValueType& SetValueByPointer(T& root, const CharType(&source)[N], typename T::ValueType& value, typename T::AllocatorType& a) {
|
||||||
const Pointer pointer(source, N - 1);
|
const GenericPointer<typename T::ValueType> pointer(source, N - 1);
|
||||||
return pointer.Set(root, value , a);
|
return pointer.Set(root, value , a);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -387,7 +390,7 @@ typename T::ValueType& SwapValueByPointer(T& root, const GenericPointer<typename
|
|||||||
|
|
||||||
template <typename T, typename CharType, size_t N>
|
template <typename T, typename CharType, size_t N>
|
||||||
typename T::ValueType& SwapValueByPointer(T& root, const CharType(&source)[N], typename T::ValueType& value, typename T::AllocatorType& a) {
|
typename T::ValueType& SwapValueByPointer(T& root, const CharType(&source)[N], typename T::ValueType& value, typename T::AllocatorType& a) {
|
||||||
const Pointer pointer(source, N - 1);
|
const GenericPointer<typename T::ValueType> pointer(source, N - 1);
|
||||||
return pointer.Swap(root, value, a);
|
return pointer.Swap(root, value, a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user