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>
50constexpr 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
113#if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR)
125template <
bool use_std,
class T>
130struct rpc_sptr_impl<true, T> {
131 using t = std::shared_ptr<T>;
134#ifdef BOOST_SHARED_PTR_HPP_INCLUDED
137struct rpc_sptr_impl<false, T> {
138 using t = boost::shared_ptr<T>;
GNU Radio logging wrapper for log4cpp library (C++ port of log4j)
Definition basic_block.h:46
constexpr bool digit(char d)
constexpr check for whether a character is a digit
Definition rpc_shared_ptr_selection.h:50
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 uint64_t version_to_version_magic(unsigned int x, unsigned int y, unsigned int z)
Definition rpc_shared_ptr_selection.h:81