23 #ifndef RPC_SHARED_PTR_SELECTION_H 24 #define RPC_SHARED_PTR_SELECTION_H 29 #ifdef GR_RPCSERVER_THRIFT 30 #ifdef THRIFT_HAS_VERSION_H 31 #include <thrift/version.h> 34 #include <thrift/concurrency/Thread.h> 50 constexpr
bool digit(
char d) {
return !(d < '0' || d >
'9'); }
72 (
throw "String is not a x.y.z version string")))
83 return (uint64_t)x * 1000 * 1000 + y * 1000 + z;
102 #ifndef THRIFT_VERSION 105 #else // THRIFT_VERSION 113 #if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR) 119 #endif // THRIFT_VERSION 125 template <
bool use_std,
class T>
126 struct rpc_sptr_impl;
130 struct rpc_sptr_impl<true, T> {
131 using t = std::shared_ptr<T>;
134 #ifdef BOOST_SHARED_PTR_HPP_INCLUDED 137 struct rpc_sptr_impl<false, T> {
138 using t = boost::shared_ptr<T>;
147 using t =
typename rpc_sptr_impl<!thrift_version_uses_boost(), T>::t;
constexpr uint64_t version_to_version_magic(unsigned int x, unsigned int y, unsigned int z)
Definition: rpc_shared_ptr_selection.h:81
GNU Radio logging wrapper for log4cpp library (C++ port of log4j)
Definition: basic_block.h:46
constexpr uint64_t cstr_to_version_magic(const char *cstr, uint64_t magicsofar)
Definition: rpc_shared_ptr_selection.h:56
constexpr bool thrift_version_uses_boost()
Definition: rpc_shared_ptr_selection.h:100
constexpr bool digit(char d)
constexpr check for whether a character is a digit
Definition: rpc_shared_ptr_selection.h:50