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 <cerrno>
|
||||||
#include <csignal>
|
#include <csignal>
|
||||||
|
|
||||||
|
#include <boost/optional.hpp>
|
||||||
|
#include <boost/utility/in_place_factory.hpp>
|
||||||
#include <boost/functional/hash.hpp>
|
#include <boost/functional/hash.hpp>
|
||||||
|
|
||||||
#include "Debugging/Errors.h"
|
#include "Debugging/Errors.h"
|
||||||
@@ -172,6 +174,10 @@ struct LocalizedString
|
|||||||
|
|
||||||
#define MAX_QUERY_LEN 32*1024
|
#define MAX_QUERY_LEN 32*1024
|
||||||
|
|
||||||
|
//! Optional helper class to wrap optional values within.
|
||||||
|
template <typename T>
|
||||||
|
using Optional = boost::optional<T>;
|
||||||
|
|
||||||
namespace Trinity
|
namespace Trinity
|
||||||
{
|
{
|
||||||
//! std::make_unique implementation (TODO: remove this once C++14 is supported)
|
//! std::make_unique implementation (TODO: remove this once C++14 is supported)
|
||||||
|
|||||||
Reference in new issue
Block a user