mirror of
https://github.com/valitydev/thrift.git
synced 2024-11-06 18:35:19 +00:00
remove boost smart ptr
This commit is contained in:
parent
f23e6a5e23
commit
9f837bbfb4
@ -45,11 +45,6 @@ if (WITH_BOOST_FUNCTIONAL)
|
||||
add_definitions(-DFORCE_BOOST_FUNCTIONAL)
|
||||
endif()
|
||||
|
||||
option(WITH_BOOST_SMART_PTR "Use boost/smart_ptr.hpp even under C++11 or later" OFF)
|
||||
if (WITH_BOOST_SMART_PTR)
|
||||
add_definitions(-DFORCE_BOOST_SMART_PTR)
|
||||
endif()
|
||||
|
||||
option(WITH_BOOST_STATIC "Build with Boost static link library" OFF)
|
||||
set(Boost_USE_STATIC_LIBS ${WITH_BOOST_STATIC})
|
||||
if (NOT WITH_BOOST_STATIC)
|
||||
@ -205,7 +200,6 @@ message(STATUS " Build shared libraries: ${WITH_SHARED_LIB}
|
||||
message(STATUS " Build static libraries: ${WITH_STATIC_LIB}")
|
||||
message(STATUS " Build with Boost static link library: ${WITH_BOOST_STATIC}")
|
||||
message(STATUS " Build with boost/tr1/functional (forced) ${WITH_BOOST_FUNCTIONAL}")
|
||||
message(STATUS " Build with boost/smart_ptr (forced) ${WITH_BOOST_SMART_PTR}")
|
||||
message(STATUS " Build with C++ std::thread support: ${WITH_STDTHREADS}")
|
||||
message(STATUS " Build with libevent support: ${WITH_LIBEVENT}")
|
||||
message(STATUS " Build with OpenSSL support: ${WITH_OPENSSL}")
|
||||
|
@ -125,7 +125,5 @@ if (WITH_PLUGIN)
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.8")
|
||||
message(SEND_ERROR "Thrift compiler plug-in support is not possible with older gcc ( < 4.8 ) compiler")
|
||||
endif()
|
||||
message(STATUS "Forcing use of boost::smart_ptr to build WITH_PLUGIN")
|
||||
add_definitions("-DFORCE_BOOST_SMART_PTR=1")
|
||||
endif()
|
||||
|
||||
|
@ -87,42 +87,19 @@
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
// We can use std for memory functions only if the compiler supports template aliasing
|
||||
// The macro BOOST_NO_CXX11_SMART_PTR is defined as 1 under Visual Studio 2010 and 2012
|
||||
// which do not support the feature, so we must continue to use C++98 and boost on them.
|
||||
// We cannot use __cplusplus to detect this either, since Microsoft advertises an older one.
|
||||
|
||||
#if defined(BOOST_NO_CXX11_SMART_PTR) || (defined(_MSC_VER) && _MSC_VER < 1800) || defined(FORCE_BOOST_SMART_PTR)
|
||||
#include <boost/smart_ptr.hpp>
|
||||
#else
|
||||
#include <memory>
|
||||
#endif
|
||||
|
||||
namespace apache { namespace thrift { namespace stdcxx {
|
||||
|
||||
#if defined(BOOST_NO_CXX11_SMART_PTR) || (defined(_MSC_VER) && _MSC_VER < 1800) || defined(FORCE_BOOST_SMART_PTR)
|
||||
using ::std::const_pointer_cast;
|
||||
using ::std::dynamic_pointer_cast;
|
||||
using ::std::enable_shared_from_this;
|
||||
using ::std::make_shared;
|
||||
template <typename T> using scoped_ptr = std::unique_ptr<T>; // compiler must support template aliasing
|
||||
using ::std::shared_ptr;
|
||||
using ::std::static_pointer_cast;
|
||||
using ::std::weak_ptr;
|
||||
|
||||
using ::boost::const_pointer_cast;
|
||||
using ::boost::dynamic_pointer_cast;
|
||||
using ::boost::enable_shared_from_this;
|
||||
using ::boost::make_shared;
|
||||
using ::boost::scoped_ptr;
|
||||
using ::boost::shared_ptr;
|
||||
using ::boost::static_pointer_cast;
|
||||
using ::boost::weak_ptr;
|
||||
|
||||
#else
|
||||
|
||||
using ::std::const_pointer_cast;
|
||||
using ::std::dynamic_pointer_cast;
|
||||
using ::std::enable_shared_from_this;
|
||||
using ::std::make_shared;
|
||||
template <typename T> using scoped_ptr = std::unique_ptr<T>; // compiler must support template aliasing
|
||||
using ::std::shared_ptr;
|
||||
using ::std::static_pointer_cast;
|
||||
using ::std::weak_ptr;
|
||||
|
||||
#endif
|
||||
|
||||
}}} // apache::thrift::stdcxx
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user