diff options
Diffstat (limited to 'graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h')
-rw-r--r-- | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h b/graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h index 477c822845..1763c84f5f 100644 --- a/graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h +++ b/graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h @@ -1,11 +1,6 @@ #pragma once #include "macro_map.h" -#ifdef boost -#include "optional.hpp" -#else -#include <boost/optional.hpp> -#endif #include <cassert> #include <memory> @@ -16,6 +11,7 @@ #include <map> #include <algorithm> +#include "optionalVersion.h" struct AbsolutePath; @@ -205,9 +201,8 @@ void Reflect(Reader& visitor, SerializeFormat& value); void Reflect(Writer& visitor, SerializeFormat& value); //// Type constructors - template <typename T> -void Reflect(Reader& visitor, boost::optional<T>& value) { +void Reflect(Reader& visitor, optional<T>& value) { if (visitor.IsNull()) { visitor.GetNull(); return; @@ -217,7 +212,7 @@ void Reflect(Reader& visitor, boost::optional<T>& value) { value = std::move(real_value); } template <typename T> -void Reflect(Writer& visitor, boost::optional<T>& value) { +void Reflect(Writer& visitor, optional<T>& value) { if (value) Reflect(visitor, *value); else @@ -226,7 +221,7 @@ void Reflect(Writer& visitor, boost::optional<T>& value) { template <typename T> -void ReflectMember(Writer& visitor, const char* name, boost::optional<T>& value) { +void ReflectMember(Writer& visitor, const char* name, optional<T>& value) { // For TypeScript optional property key?: value in the spec, // We omit both key and value if value is std::nullopt (null) for JsonWriter // to reduce output. But keep it for other serialization formats. @@ -237,7 +232,6 @@ void ReflectMember(Writer& visitor, const char* name, boost::optional<T>& value) } - template <typename T> void ReflectMember(Writer& visitor, const char* name, @@ -329,7 +323,7 @@ void ReflectMember(Writer& visitor, const char* name, T& value) { } template<class _Ty1, class _Ty2> -void Reflect(Writer& visitor, std::pair< boost::optional<_Ty1>, boost::optional<_Ty2> >& value) +void Reflect(Writer& visitor, std::pair< optional<_Ty1>, optional<_Ty2> >& value) { if (value.first) { @@ -341,7 +335,7 @@ void Reflect(Writer& visitor, std::pair< boost::optional<_Ty1>, boost::optional } } template<class _Ty2> -void Reflect(Reader& visitor, std::pair< boost::optional<bool>, boost::optional<_Ty2> >& value) +void Reflect(Reader& visitor, std::pair< optional<bool>, optional<_Ty2> >& value) { if(visitor.IsBool()) { @@ -352,7 +346,7 @@ void Reflect(Reader& visitor, std::pair< boost::optional<bool>, boost::optional Reflect(visitor, value.second); } template<class _Ty2> -void Reflect(Reader& visitor, std::pair< boost::optional<std::string>, boost::optional<_Ty2> >& value) +void Reflect(Reader& visitor, std::pair< optional<std::string>, optional<_Ty2> >& value) { if (visitor.IsString()) { @@ -365,7 +359,7 @@ void Reflect(Reader& visitor, std::pair< boost::optional<std::string>, boost::o template<class _Ty1, class _Ty2> -void Reflect(Reader& visitor, std::pair< boost::optional<_Ty1>, boost::optional<_Ty2> >& value) +void Reflect(Reader& visitor, std::pair< optional<_Ty1>, optional<_Ty2> >& value) { try { |