aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNaios <naios-dev@live.de>2015-04-26 23:45:52 +0200
committerNaios <naios-dev@live.de>2016-04-11 21:00:26 +0200
commitfc106eba515c8b1efb013634bbabec405ecf5b22 (patch)
tree121210ad7b959f73861ebf39e12b251079a070f0 /src
parentf9697cb86abfda55393bb0a5d842b2dbf32b990a (diff)
Core/Misc: Replace tc's optional with boost::optional. (very partial cherry-pick)
* benefits from empty optimization (objects are only constructed if needed). * supports r-value references (move semantics) (boost >= 1.56.0). * preparation for c++14/17's std::optional and std::none_t. * add move constructor to CompactArray. (cherry picked from commit 800d5d893964a82265577d3352d683035b589f78)
Diffstat (limited to 'src')
-rw-r--r--src/common/Common.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/common/Common.h b/src/common/Common.h
index 8216c519746..aa04abacd30 100644
--- a/src/common/Common.h
+++ b/src/common/Common.h
@@ -44,6 +44,8 @@
#include <cerrno>
#include <csignal>
+#include <boost/optional.hpp>
+#include <boost/utility/in_place_factory.hpp>
#include <boost/functional/hash.hpp>
#include "Debugging/Errors.h"
@@ -152,6 +154,10 @@ typedef std::vector<std::string> StringVector;
#define MAX_QUERY_LEN 32*1024
+//! Optional helper class to wrap optional values within.
+template <typename T>
+using Optional = boost::optional<T>;
+
namespace Trinity
{
//! std::make_unique implementation (TODO: remove this once C++14 is supported)