[icinga-checkins] icinga.org: icinga2/master: Make VS 2013 happy

git at icinga.org git at icinga.org
Sat Aug 27 20:07:52 CEST 2016


Module: icinga2
Branch: master
Commit: ef50c57ed07e1bcdb0fd4958890fd9c6f485a3d6
URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=ef50c57ed07e1bcdb0fd4958890fd9c6f485a3d6

Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Sat Aug 27 20:03:12 2016 +0200

Make VS 2013 happy

refs #12555

---

 lib/base/console.cpp |    7 +++++--
 lib/base/process.cpp |    7 +++++--
 lib/base/string.hpp  |   22 ++++++++++++++++++----
 lib/base/value.hpp   |   28 ++++++++++++++++++----------
 4 files changed, 46 insertions(+), 18 deletions(-)

diff --git a/lib/base/console.cpp b/lib/base/console.cpp
index 7d4257c..b9f9f3b 100644
--- a/lib/base/console.cpp
+++ b/lib/base/console.cpp
@@ -25,7 +25,8 @@ using namespace icinga;
 
 static ConsoleType l_ConsoleType = Console_Dumb;
 
-INITIALIZE_ONCE([]() {
+static void InitializeConsole(void)
+{
 	l_ConsoleType = Console_Dumb;
 
 #ifndef _WIN32
@@ -34,7 +35,9 @@ INITIALIZE_ONCE([]() {
 #else /* _WIN32 */
 	l_ConsoleType = Console_Windows;
 #endif /* _WIN32 */
-});
+}
+
+INITIALIZE_ONCE(InitializeConsole);
 
 ConsoleColorTag::ConsoleColorTag(int color, ConsoleType consoleType)
 	: m_Color(color), m_ConsoleType(consoleType)
diff --git a/lib/base/process.cpp b/lib/base/process.cpp
index f29de86..a2bba4d 100644
--- a/lib/base/process.cpp
+++ b/lib/base/process.cpp
@@ -74,7 +74,8 @@ Process::~Process(void)
 #endif /* _WIN32 */
 }
 
-INITIALIZE_ONCE([]() {
+static void InitializeProcess(void)
+{
 	for (int tid = 0; tid < IOTHREADS; tid++) {
 #ifdef _WIN32
 		l_Events[tid] = CreateEvent(NULL, TRUE, FALSE, NULL);
@@ -101,7 +102,9 @@ INITIALIZE_ONCE([]() {
 #	endif /* HAVE_PIPE2 */
 #endif /* _WIN32 */
 	}
-});
+}
+
+INITIALIZE_ONCE(InitializeProcess);
 
 void Process::ThreadInitialize(void)
 {
diff --git a/lib/base/string.hpp b/lib/base/string.hpp
index 159fbdc..695f420 100644
--- a/lib/base/string.hpp
+++ b/lib/base/string.hpp
@@ -77,8 +77,13 @@ public:
 		: m_Data(n, c)
 	{ }
 
-	String(const String& other) = default;
-	String(String&& other) = default;
+	String(const String& other)
+		: m_Data(other)
+	{ }
+
+	String(String&& other)
+		: m_Data(std::move(other.m_Data))
+	{ }
 
 	inline ~String(void)
 	{ }
@@ -88,8 +93,17 @@ public:
 		: m_Data(begin, end)
 	{ }
 
-	String& operator=(const String& rhs) = default;
-	String& operator=(String&& rhs) = default;
+	String& operator=(const String& rhs)
+	{
+		m_Data = rhs.m_Data;
+		return *this;
+	}
+
+	String& operator=(String&& rhs)
+	{
+		m_Data = std::move(rhs.m_Data);
+		return *this;
+	}
 
 	inline String& operator=(const std::string& rhs)
 	{
diff --git a/lib/base/value.hpp b/lib/base/value.hpp
index 60e213d..56fed2c 100644
--- a/lib/base/value.hpp
+++ b/lib/base/value.hpp
@@ -99,16 +99,18 @@ public:
 		: m_Value(String(value))
 	{ }
 
-	Value(const Value& other) = default;
+	Value(const Value& other)
+		: m_Value(other.m_Value)
+	{ }
 
-#if BOOST_VERSION >= 105400
-	Value(Value&& other) = default;
-#else /* BOOST_VERSION */
 	Value(Value&& other)
 	{
+#if BOOST_VERSION >= 105400
+		m_Value = std::move(other.m_Value);
+#else /* BOOST_VERSION */
 		m_Value.swap(other.m_Value);
-	}
 #endif /* BOOST_VERSION */
+	}
 
 	inline Value(Object *value)
 	{
@@ -132,17 +134,23 @@ public:
 	operator double(void) const;
 	operator String(void) const;
 
-	Value& operator=(const Value& other) = default;
+	Value& operator=(const Value& other)
+	{
+		m_Value = other.m_Value;
+		return *this;
+	}
 
-#if BOOST_VERSION >= 105400
-	Value& operator=(Value&& other) = default;
-#else /* BOOST_VERSION */
 	Value& operator=(Value&& other)
 	{
+#if BOOST_VERSION >= 105400
+		m_Value = std::move(other.m_Value);
+#else /* BOOST_VERSION */
 		m_Value.swap(other.m_Value);
-	}
 #endif /* BOOST_VERSION */
 
+		return *this;
+	}
+
 	bool operator==(bool rhs) const;
 	bool operator!=(bool rhs) const;
 



More information about the icinga-checkins mailing list