mirror of
https://github.com/MaskRay/ccls.git
synced 2025-02-22 08:29:38 +00:00
Reorder Reflect functions
This commit is contained in:
parent
0c9f572637
commit
4758b70d00
@ -24,6 +24,7 @@ void Reflect(Reader& visitor, int16_t& value) {
|
|||||||
void Reflect(Writer& visitor, int16_t& value) {
|
void Reflect(Writer& visitor, int16_t& value) {
|
||||||
visitor.Int(value);
|
visitor.Int(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// int32_t
|
// int32_t
|
||||||
void Reflect(Reader& visitor, int32_t& value) {
|
void Reflect(Reader& visitor, int32_t& value) {
|
||||||
if (visitor.IsInt())
|
if (visitor.IsInt())
|
||||||
@ -32,6 +33,7 @@ void Reflect(Reader& visitor, int32_t& value) {
|
|||||||
void Reflect(Writer& visitor, int32_t& value) {
|
void Reflect(Writer& visitor, int32_t& value) {
|
||||||
visitor.Int(value);
|
visitor.Int(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// int64_t
|
// int64_t
|
||||||
void Reflect(Reader& visitor, int64_t& value) {
|
void Reflect(Reader& visitor, int64_t& value) {
|
||||||
if (visitor.IsInt64())
|
if (visitor.IsInt64())
|
||||||
@ -40,6 +42,7 @@ void Reflect(Reader& visitor, int64_t& value) {
|
|||||||
void Reflect(Writer& visitor, int64_t& value) {
|
void Reflect(Writer& visitor, int64_t& value) {
|
||||||
visitor.Int64(value);
|
visitor.Int64(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// uint64_t
|
// uint64_t
|
||||||
void Reflect(Reader& visitor, uint64_t& value) {
|
void Reflect(Reader& visitor, uint64_t& value) {
|
||||||
if (visitor.IsUint64())
|
if (visitor.IsUint64())
|
||||||
@ -48,6 +51,7 @@ void Reflect(Reader& visitor, uint64_t& value) {
|
|||||||
void Reflect(Writer& visitor, uint64_t& value) {
|
void Reflect(Writer& visitor, uint64_t& value) {
|
||||||
visitor.Uint64(value);
|
visitor.Uint64(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// bool
|
// bool
|
||||||
void Reflect(Reader& visitor, bool& value) {
|
void Reflect(Reader& visitor, bool& value) {
|
||||||
if (visitor.IsBool())
|
if (visitor.IsBool())
|
||||||
@ -56,6 +60,7 @@ void Reflect(Reader& visitor, bool& value) {
|
|||||||
void Reflect(Writer& visitor, bool& value) {
|
void Reflect(Writer& visitor, bool& value) {
|
||||||
visitor.Bool(value);
|
visitor.Bool(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// std::string
|
// std::string
|
||||||
void Reflect(Reader& visitor, std::string& value) {
|
void Reflect(Reader& visitor, std::string& value) {
|
||||||
if (visitor.IsString())
|
if (visitor.IsString())
|
||||||
|
@ -97,23 +97,27 @@ void Reflect(Writer& visitor, uint64_t& value);
|
|||||||
// bool
|
// bool
|
||||||
void Reflect(Reader& visitor, bool& value);
|
void Reflect(Reader& visitor, bool& value);
|
||||||
void Reflect(Writer& visitor, bool& value);
|
void Reflect(Writer& visitor, bool& value);
|
||||||
|
|
||||||
// std::string
|
// std::string
|
||||||
void Reflect(Reader& visitor, std::string& value);
|
void Reflect(Reader& visitor, std::string& value);
|
||||||
void Reflect(Writer& visitor, std::string& value);
|
void Reflect(Writer& visitor, std::string& value);
|
||||||
|
|
||||||
// Writer:
|
// std::optional
|
||||||
template <typename T>
|
template <typename T>
|
||||||
void Reflect(Writer& visitor, std::vector<T>& values) {
|
void Reflect(Reader& visitor, optional<T>& value) {
|
||||||
visitor.StartArray();
|
if (visitor.IsNull())
|
||||||
for (auto& value : values)
|
return;
|
||||||
Reflect(visitor, value);
|
T real_value{};
|
||||||
visitor.EndArray();
|
Reflect(visitor, real_value);
|
||||||
|
value = real_value;
|
||||||
}
|
}
|
||||||
template <typename T>
|
template <typename T>
|
||||||
void Reflect(Writer& visitor, optional<T>& value) {
|
void Reflect(Writer& visitor, optional<T>& value) {
|
||||||
if (value)
|
if (value)
|
||||||
Reflect(visitor, value.value());
|
Reflect(visitor, value.value());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// std::variant (Writer only)
|
||||||
template <typename T0, typename T1>
|
template <typename T0, typename T1>
|
||||||
void Reflect(Writer& visitor, std::variant<T0, T1>& value) {
|
void Reflect(Writer& visitor, std::variant<T0, T1>& value) {
|
||||||
if (value.index() == 0)
|
if (value.index() == 0)
|
||||||
@ -121,6 +125,28 @@ void Reflect(Writer& visitor, std::variant<T0, T1>& value) {
|
|||||||
else
|
else
|
||||||
Reflect(visitor, std::get<1>(value));
|
Reflect(visitor, std::get<1>(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// std::vector
|
||||||
|
template <typename T>
|
||||||
|
void Reflect(Reader& visitor, std::vector<T>& values) {
|
||||||
|
if (!visitor.IsArray())
|
||||||
|
return;
|
||||||
|
for (auto& entry : visitor.GetArray()) {
|
||||||
|
T entry_value;
|
||||||
|
Reflect(entry, entry_value);
|
||||||
|
values.push_back(entry_value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
template <typename T>
|
||||||
|
void Reflect(Writer& visitor, std::vector<T>& values) {
|
||||||
|
visitor.StartArray();
|
||||||
|
for (auto& value : values)
|
||||||
|
Reflect(visitor, value);
|
||||||
|
visitor.EndArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Writer:
|
||||||
|
|
||||||
inline void DefaultReflectMemberStart(Writer& visitor) {
|
inline void DefaultReflectMemberStart(Writer& visitor) {
|
||||||
visitor.StartObject();
|
visitor.StartObject();
|
||||||
}
|
}
|
||||||
@ -156,24 +182,8 @@ void ReflectMember(Writer& visitor, const char* name, optional<T>& value) {
|
|||||||
void ReflectMember(Writer& visitor, const char* name, std::string& value);
|
void ReflectMember(Writer& visitor, const char* name, std::string& value);
|
||||||
|
|
||||||
// Reader:
|
// Reader:
|
||||||
template <typename T>
|
|
||||||
void Reflect(Reader& visitor, std::vector<T>& values) {
|
|
||||||
if (!visitor.IsArray())
|
|
||||||
return;
|
|
||||||
for (auto& entry : visitor.GetArray()) {
|
|
||||||
T entry_value;
|
|
||||||
Reflect(entry, entry_value);
|
|
||||||
values.push_back(entry_value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
template <typename T>
|
|
||||||
void Reflect(Reader& visitor, optional<T>& value) {
|
|
||||||
if (visitor.IsNull())
|
|
||||||
return;
|
|
||||||
T real_value{};
|
|
||||||
Reflect(visitor, real_value);
|
|
||||||
value = real_value;
|
|
||||||
}
|
|
||||||
inline void DefaultReflectMemberStart(Reader& visitor) {}
|
inline void DefaultReflectMemberStart(Reader& visitor) {}
|
||||||
template <typename T>
|
template <typename T>
|
||||||
bool ReflectMemberStart(Reader& visitor, T& value) {
|
bool ReflectMemberStart(Reader& visitor, T& value) {
|
||||||
|
Loading…
Reference in New Issue
Block a user