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)
This commit is contained in:
1 parent
a71da1c603
commit
74a588b462
1 file changed
+6
@@ -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"
|
||||
@@ -172,6 +174,10 @@ struct LocalizedString
|
||||
|
||||
#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)
|
||||
|
||||
Reference in new issue
Block a user