From cd97b5beec0601ac42cd1329cd2ae9ee8e539a92 Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Sat, 27 Sep 2014 08:21:10 -0700 Subject: [PATCH] Remove obsolete SharedArg --- beast/module/asio/asio.h | 1 - beast/module/asio/basics/SharedArg.h | 169 --------------------------- 2 files changed, 170 deletions(-) delete mode 100644 beast/module/asio/basics/SharedArg.h diff --git a/beast/module/asio/asio.h b/beast/module/asio/asio.h index 34e82db7b..02d03a53a 100644 --- a/beast/module/asio/asio.h +++ b/beast/module/asio/asio.h @@ -37,7 +37,6 @@ #include #include #include -#include #include #include diff --git a/beast/module/asio/basics/SharedArg.h b/beast/module/asio/basics/SharedArg.h deleted file mode 100644 index 7e2163626..000000000 --- a/beast/module/asio/basics/SharedArg.h +++ /dev/null @@ -1,169 +0,0 @@ -//------------------------------------------------------------------------------ -/* - This file is part of Beast: https://github.com/vinniefalco/Beast - Copyright 2013, Vinnie Falco - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -*/ -//============================================================================== - -#ifndef BEAST_ASIO_SHAREDARG_H_INCLUDED -#define BEAST_ASIO_SHAREDARG_H_INCLUDED - -#include - -namespace beast { -namespace asio { - -/** A container that turns T into a SharedObject. - We use this to manage the lifetime of objects passed to handlers. -*/ -template -struct SharedArg -{ -private: - struct Arg : SharedObject - { - Arg () - { - } - - explicit Arg (BEAST_MOVE_ARG(T) t) - : value (BEAST_MOVE_CAST(T)(t)) - { - } - - template - explicit Arg (P1 p1) - : value (p1) - { - } - - template - Arg (P1 p1, P2 p2) - : value (p1, p2) - { - } - - template - Arg (P1 p1, P2 p2, P3 p3) - : value (p1, p2, p3) - { - } - - template - Arg (P1 p1, P2 p2, P3 p3, P4 p4) - : value (p1, p2, p3, p4) - { - } - - ~Arg () - { - } - - T value; - }; - -public: - SharedArg () - { - } - - explicit SharedArg (BEAST_MOVE_ARG(T) t) - : m_arg (new Arg (BEAST_MOVE_CAST(T)(t))) - { - } - - template - explicit SharedArg (P1 p1) - : m_arg (new Arg (p1)) - { - } - - template - SharedArg (P1 p1, P2 p2) - : m_arg (new Arg (p1, p2)) - { - } - - template - SharedArg (P1 p1, P2 p2, P3 p3) - : m_arg (new Arg (p1, p2, p3)) - { - } - - template - SharedArg (P1 p1, P2 p2, P3 p3, P4 p4) - : m_arg (new Arg (p1, p2, p3, p4)) - { - } - - SharedArg (SharedArg const& other) - : m_arg (other.m_arg) - { - } - - SharedArg& operator= (SharedArg const& other) - { - m_arg = other.m_arg; - return *this; - } - - T& get () - { - return m_arg->value; - } - - T const& get () const - { - return m_arg->value; - } - - T& operator* () - { - return get(); - } - - T const& operator* () const - { - return get(); - } - - T* operator-> () - { - return &get(); - } - - T const* operator-> () const - { - return &get(); - } - - operator T& () - { - return m_arg->value; - } - - operator T const& () const - { - return m_arg->value; - } - -private: - SharedPtr m_arg; -}; - -} -} - -#endif