diff options
author | Naios <naios-dev@live.de> | 2015-04-26 23:45:52 +0200 |
---|---|---|
committer | Naios <naios-dev@live.de> | 2016-04-11 21:00:26 +0200 |
commit | fc106eba515c8b1efb013634bbabec405ecf5b22 (patch) | |
tree | 121210ad7b959f73861ebf39e12b251079a070f0 /src | |
parent | f9697cb86abfda55393bb0a5d842b2dbf32b990a (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.h | 6 |
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) |