summaryrefslogtreecommitdiff
path: root/indra/llcommon/llsd.h
diff options
context:
space:
mode:
authorAndrey Lihatskiy <alihatskiy@productengine.com>2023-05-17 18:05:05 +0300
committerAndrey Lihatskiy <alihatskiy@productengine.com>2023-05-17 18:05:05 +0300
commit033b04f3883a0cc9024f45b5e9a0d792cf6dbb77 (patch)
treeac49627e31aabda8aaa4b21c74c5aee2b2ea46e8 /indra/llcommon/llsd.h
parent07dc391ab76a8860d04bfb001cdc686cd576663d (diff)
parent5a70639b7992842a9f74ec81b11bac56608b8f2e (diff)
Merge branch 'main' into DRTVWR-582-maint-U
# Conflicts: # indra/newview/llagentlistener.cpp # indra/newview/llcommanddispatcherlistener.cpp # indra/newview/llfilepicker_mac.mm # indra/newview/llworldmapview.cpp
Diffstat (limited to 'indra/llcommon/llsd.h')
-rw-r--r--indra/llcommon/llsd.h26
1 files changed, 10 insertions, 16 deletions
diff --git a/indra/llcommon/llsd.h b/indra/llcommon/llsd.h
index 4e9fcc77ee..cdb9a7ed8a 100644
--- a/indra/llcommon/llsd.h
+++ b/indra/llcommon/llsd.h
@@ -30,7 +30,6 @@
#include <map>
#include <string>
#include <vector>
-#include <type_traits>
#include "stdtypes.h"
@@ -216,21 +215,15 @@ public:
void assign(const Date&);
void assign(const URI&);
void assign(const Binary&);
-
- // support assignment from size_t et al.
- template <typename VALUE,
- typename std::enable_if<std::is_integral<VALUE>::value &&
- ! std::is_same<VALUE, Boolean>::value,
- bool>::type = true>
- void assign(VALUE v) { assign(Integer(narrow(v))); }
- // support assignment from F32 et al.
- template <typename VALUE,
- typename std::enable_if<std::is_floating_point<VALUE>::value,
- bool>::type = true>
- void assign(VALUE v) { assign(Real(narrow(v))); }
-
- template <typename VALUE>
- LLSD& operator=(VALUE v) { assign(v); return *this; }
+
+ LLSD& operator=(Boolean v) { assign(v); return *this; }
+ LLSD& operator=(Integer v) { assign(v); return *this; }
+ LLSD& operator=(Real v) { assign(v); return *this; }
+ LLSD& operator=(const String& v) { assign(v); return *this; }
+ LLSD& operator=(const UUID& v) { assign(v); return *this; }
+ LLSD& operator=(const Date& v) { assign(v); return *this; }
+ LLSD& operator=(const URI& v) { assign(v); return *this; }
+ LLSD& operator=(const Binary& v) { assign(v); return *this; }
//@}
/**
@@ -292,6 +285,7 @@ public:
//@{
LLSD(const char*);
void assign(const char*);
+ LLSD& operator=(const char* v) { assign(v); return *this; }
//@}
/** @name Map Values */