From 58e16e543d032e33836d6789cc11c9799a560e9b Mon Sep 17 00:00:00 2001 From: Peter Conrad Date: Fri, 5 Apr 2019 22:12:29 +0200 Subject: [PATCH] Replaced most fc::shared_ptr with std::shared_ptr --- include/fc/io/fstream.hpp | 6 +++--- include/fc/io/raw.hpp | 3 --- include/fc/io/raw_fwd.hpp | 9 +++++---- include/fc/log/appender.hpp | 18 +++++++++--------- include/fc/log/file_appender.hpp | 2 +- include/fc/log/gelf_appender.hpp | 2 +- include/fc/log/log_message.hpp | 1 - include/fc/log/logger.hpp | 14 ++++++-------- include/fc/network/http/server.hpp | 5 ++--- include/fc/network/udp_socket.hpp | 5 ++--- include/fc/variant_object.hpp | 2 +- src/io/fstream.cpp | 4 ++-- src/log/file_appender.cpp | 2 +- src/log/gelf_appender.cpp | 2 +- src/log/logger.cpp | 13 +++++-------- src/network/http/http_server.cpp | 6 +++--- src/network/udp_socket.cpp | 2 +- 17 files changed, 43 insertions(+), 53 deletions(-) diff --git a/include/fc/io/fstream.hpp b/include/fc/io/fstream.hpp index 9a0c99d..7b5465e 100644 --- a/include/fc/io/fstream.hpp +++ b/include/fc/io/fstream.hpp @@ -1,8 +1,8 @@ #pragma once -#include #include #include #include +#include namespace fc { class path; @@ -21,7 +21,7 @@ namespace fc { private: class impl; - fc::shared_ptr my; + std::shared_ptr my; }; class ifstream : virtual public istream { @@ -44,7 +44,7 @@ namespace fc { bool eof()const; private: class impl; - fc::shared_ptr my; + std::shared_ptr my; }; /** diff --git a/include/fc/io/raw.hpp b/include/fc/io/raw.hpp index 022c0ff..ff2a10c 100644 --- a/include/fc/io/raw.hpp +++ b/include/fc/io/raw.hpp @@ -3,14 +3,11 @@ #include #include #include -#include #include #include -#include #include #include #include -#include #include #include #include diff --git a/include/fc/io/raw_fwd.hpp b/include/fc/io/raw_fwd.hpp index 54f91b0..f89ff8f 100644 --- a/include/fc/io/raw_fwd.hpp +++ b/include/fc/io/raw_fwd.hpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -132,14 +133,14 @@ namespace fc { template inline void pack( Stream& s, const fc::array& v, uint32_t _max_depth=FC_PACK_MAX_DEPTH ); template inline void unpack( Stream& s, fc::array& v, uint32_t _max_depth=FC_PACK_MAX_DEPTH); - template inline void pack( Stream& s, const shared_ptr& v, + template inline void pack( Stream& s, const std::shared_ptr& v, uint32_t _max_depth=FC_PACK_MAX_DEPTH ); - template inline void unpack( Stream& s, shared_ptr& v, + template inline void unpack( Stream& s, std::shared_ptr& v, uint32_t _max_depth=FC_PACK_MAX_DEPTH ); - template inline void pack( Stream& s, const shared_ptr& v, + template inline void pack( Stream& s, const std::shared_ptr& v, uint32_t _max_depth=FC_PACK_MAX_DEPTH ); - template inline void unpack( Stream& s, shared_ptr& v, + template inline void unpack( Stream& s, std::shared_ptr& v, uint32_t _max_depth=FC_PACK_MAX_DEPTH ); template inline void pack( Stream& s, const bool& v, uint32_t _max_depth=FC_PACK_MAX_DEPTH ); diff --git a/include/fc/log/appender.hpp b/include/fc/log/appender.hpp index 8f57f4c..f8f442f 100644 --- a/include/fc/log/appender.hpp +++ b/include/fc/log/appender.hpp @@ -1,5 +1,5 @@ #pragma once -#include +#include #include namespace fc { @@ -7,31 +7,31 @@ namespace fc { class log_message; class variant; - class appender_factory : public fc::retainable { + class appender_factory { public: - typedef fc::shared_ptr ptr; + typedef std::shared_ptr ptr; virtual ~appender_factory(){}; - virtual fc::shared_ptr create( const variant& args ) = 0; + virtual std::shared_ptr create( const variant& args ) = 0; }; namespace detail { template class appender_factory_impl : public appender_factory { public: - virtual fc::shared_ptr create( const variant& args ) { - return fc::shared_ptr(new T(args)); + virtual std::shared_ptr create( const variant& args ) { + return std::shared_ptr(new T(args)); } }; } - class appender : public fc::retainable { + class appender { public: - typedef fc::shared_ptr ptr; + typedef std::shared_ptr ptr; template static bool register_appender(const std::string& type) { - return register_appender( type, new detail::appender_factory_impl() ); + return register_appender( type, appender_factory::ptr( new detail::appender_factory_impl() ) ); } static appender::ptr create( const std::string& name, const std::string& type, const variant& args ); diff --git a/include/fc/log/file_appender.hpp b/include/fc/log/file_appender.hpp index bd692ef..6c4accb 100644 --- a/include/fc/log/file_appender.hpp +++ b/include/fc/log/file_appender.hpp @@ -26,7 +26,7 @@ class file_appender : public appender { private: class impl; - fc::shared_ptr my; + std::unique_ptr my; }; } // namespace fc diff --git a/include/fc/log/gelf_appender.hpp b/include/fc/log/gelf_appender.hpp index 1df2b2a..f150f82 100644 --- a/include/fc/log/gelf_appender.hpp +++ b/include/fc/log/gelf_appender.hpp @@ -24,7 +24,7 @@ namespace fc private: class impl; - fc::shared_ptr my; + std::unique_ptr my; }; } // namespace fc diff --git a/include/fc/log/log_message.hpp b/include/fc/log/log_message.hpp index 7c529c0..7706714 100644 --- a/include/fc/log/log_message.hpp +++ b/include/fc/log/log_message.hpp @@ -6,7 +6,6 @@ #include #include #include -#include #include #include diff --git a/include/fc/log/logger.hpp b/include/fc/log/logger.hpp index 6e1a52b..0d29eb8 100644 --- a/include/fc/log/logger.hpp +++ b/include/fc/log/logger.hpp @@ -1,14 +1,12 @@ #pragma once #include #include -#include +#include #include +#include namespace fc { - - class appender; - /** * * @@ -43,16 +41,16 @@ namespace fc void set_name( const std::string& n ); const std::string& name()const; - void add_appender( const fc::shared_ptr& a ); - std::vector > get_appenders()const; - void remove_appender( const fc::shared_ptr& a ); + void add_appender( const appender::ptr& a ); + std::vector get_appenders()const; + void remove_appender( const appender::ptr& a ); bool is_enabled( log_level e )const; void log( log_message m ); private: class impl; - fc::shared_ptr my; + std::shared_ptr my; }; } // namespace fc diff --git a/include/fc/network/http/server.hpp b/include/fc/network/http/server.hpp index a52ebcc..a7dc3a3 100644 --- a/include/fc/network/http/server.hpp +++ b/include/fc/network/http/server.hpp @@ -1,6 +1,5 @@ #pragma once #include -#include #include #include @@ -28,7 +27,7 @@ namespace fc { namespace http { class impl; response(); - response( const fc::shared_ptr& my); + response( const std::shared_ptr& my); response( const response& r); response( response&& r ); ~response(); @@ -42,7 +41,7 @@ namespace fc { namespace http { void write( const char* data, uint64_t len )const; private: - fc::shared_ptr my; + std::shared_ptr my; }; void listen( const fc::ip::endpoint& p ); diff --git a/include/fc/network/udp_socket.hpp b/include/fc/network/udp_socket.hpp index f150178..d6354c2 100644 --- a/include/fc/network/udp_socket.hpp +++ b/include/fc/network/udp_socket.hpp @@ -1,5 +1,4 @@ #pragma once -#include #include namespace fc { @@ -35,8 +34,8 @@ namespace fc { fc::ip::endpoint local_endpoint()const; private: - class impl; - fc::shared_ptr my; + class impl; + std::shared_ptr my; }; } diff --git a/include/fc/variant_object.hpp b/include/fc/variant_object.hpp index 73edd26..cebc31f 100644 --- a/include/fc/variant_object.hpp +++ b/include/fc/variant_object.hpp @@ -1,6 +1,6 @@ #pragma once #include -#include +#include namespace fc { diff --git a/src/io/fstream.cpp b/src/io/fstream.cpp index 5ebf790..1e6fffe 100644 --- a/src/io/fstream.cpp +++ b/src/io/fstream.cpp @@ -13,11 +13,11 @@ using namespace std; namespace fc { - class ofstream::impl : public fc::retainable { + class ofstream::impl { public: boost::filesystem::ofstream ofs; }; - class ifstream::impl : public fc::retainable { + class ifstream::impl { public: boost::filesystem::ifstream ifs; }; diff --git a/src/log/file_appender.cpp b/src/log/file_appender.cpp index 6cc1d7e..c2efebf 100644 --- a/src/log/file_appender.cpp +++ b/src/log/file_appender.cpp @@ -13,7 +13,7 @@ namespace fc { - class file_appender::impl : public fc::retainable + class file_appender::impl { public: config cfg; diff --git a/src/log/gelf_appender.cpp b/src/log/gelf_appender.cpp index 2d7f78a..c1828e5 100644 --- a/src/log/gelf_appender.cpp +++ b/src/log/gelf_appender.cpp @@ -20,7 +20,7 @@ namespace fc { - class gelf_appender::impl : public retainable + class gelf_appender::impl { public: config cfg; diff --git a/src/log/logger.cpp b/src/log/logger.cpp index 93241f3..b8743b9 100644 --- a/src/log/logger.cpp +++ b/src/log/logger.cpp @@ -11,7 +11,7 @@ namespace fc { - class logger::impl : public fc::retainable { + class logger::impl { public: impl() :_parent(nullptr),_enabled(true),_additivity(false),_level(log_level::warn){} @@ -54,8 +54,8 @@ namespace fc { std::swap(my,l.my); return *this; } - bool operator==( const logger& l, std::nullptr_t ) { return !l.my; } - bool operator!=( const logger& l, std::nullptr_t ) { return l.my; } + bool operator==( const logger& l, std::nullptr_t ) { return !(bool)l.my; } + bool operator!=( const logger& l, std::nullptr_t ) { return (bool)l.my; } bool logger::is_enabled( log_level e )const { return e >= my->_level; @@ -96,13 +96,10 @@ namespace fc { log_level logger::get_log_level()const { return my->_level; } logger& logger::set_log_level(log_level ll) { my->_level = ll; return *this; } - void logger::add_appender( const fc::shared_ptr& a ) + void logger::add_appender( const appender::ptr& a ) { my->_appenders.push_back(a); } -// void logger::remove_appender( const fc::shared_ptr& a ) - // { my->_appenders.erase(a); } - - std::vector > logger::get_appenders()const + std::vector logger::get_appenders()const { return my->_appenders; } diff --git a/src/network/http/http_server.cpp b/src/network/http/http_server.cpp index 8a63734..af06c6f 100644 --- a/src/network/http/http_server.cpp +++ b/src/network/http/http_server.cpp @@ -9,7 +9,7 @@ namespace fc { namespace http { - class server::response::impl : public fc::retainable + class server::response::impl { public: impl( const fc::http::connection_ptr& c, const std::function& cont = std::function() ) @@ -112,7 +112,7 @@ namespace fc { namespace http { { try { - http::server::response rep( fc::shared_ptr( new response::impl(c) ) ); + http::server::response rep( std::shared_ptr( new response::impl(c) ) ); request req = c->read_request(); if( do_on_req ) do_on_req( req, rep ); @@ -155,7 +155,7 @@ namespace fc { namespace http { server::response::response(){} server::response::response( const server::response& s ):my(s.my){} server::response::response( server::response&& s ):my(std::move(s.my)){} - server::response::response( const fc::shared_ptr& m ):my(m){} + server::response::response( const std::shared_ptr& m ):my(m){} server::response& server::response::operator=(const server::response& s) { my = s.my; return *this; } server::response& server::response::operator=(server::response&& s) { std::swap(my,s.my); return *this; } diff --git a/src/network/udp_socket.cpp b/src/network/udp_socket.cpp index 514e148..c813831 100644 --- a/src/network/udp_socket.cpp +++ b/src/network/udp_socket.cpp @@ -6,7 +6,7 @@ namespace fc { - class udp_socket::impl : public fc::retainable { + class udp_socket::impl { public: impl():_sock( fc::asio::default_io_service() ){} ~impl(){