diff --git a/rak/functional.h b/rak/functional.h index ac77b2da..247bf003 100644 --- a/rak/functional.h +++ b/rak/functional.h @@ -391,19 +391,6 @@ if_then(Cond c, Then t) { return if_then_t(c, t); } -template -struct call_delete : public std::unary_function { - void operator () (T* t) { - delete t; - } -}; - -template -inline void -call_delete_func(T* t) { - delete t; -} - template class bind1st_t : public std::unary_function { public: diff --git a/src/core/download_list.cc b/src/core/download_list.cc index 680810d2..5860dc92 100644 --- a/src/core/download_list.cc +++ b/src/core/download_list.cc @@ -81,7 +81,7 @@ DownloadList::check_contains(Download* d) { void DownloadList::clear() { std::for_each(begin(), end(), std::bind1st(std::mem_fun(&DownloadList::close), this)); - std::for_each(begin(), end(), rak::call_delete()); + std::for_each(begin(), end(), [](Download* d) { delete d; }); base_type::clear(); } diff --git a/src/core/view_manager.cc b/src/core/view_manager.cc index 7f711c37..66db5ca2 100644 --- a/src/core/view_manager.cc +++ b/src/core/view_manager.cc @@ -55,7 +55,7 @@ namespace core { void ViewManager::clear() { - std::for_each(begin(), end(), rak::call_delete()); + std::for_each(begin(), end(), [](View* v) { delete v; }); base_type::clear(); } diff --git a/src/display/text_element_list.cc b/src/display/text_element_list.cc index f769f6fd..5fc2eece 100644 --- a/src/display/text_element_list.cc +++ b/src/display/text_element_list.cc @@ -37,7 +37,6 @@ #include "config.h" #include -#include #include #include "text_element_list.h" @@ -46,7 +45,7 @@ namespace display { void TextElementList::clear() { - std::for_each(begin(), end(), rak::call_delete()); + std::for_each(begin(), end(), [](TextElement* t) { delete t; }); base_type::clear(); } diff --git a/src/display/window_text.cc b/src/display/window_text.cc index cf1ebcdd..f9b85088 100644 --- a/src/display/window_text.cc +++ b/src/display/window_text.cc @@ -37,7 +37,6 @@ #include "config.h" #include -#include #include "canvas.h" #include "utils.h" @@ -55,7 +54,7 @@ WindowText::WindowText(rpc::target_type target, extent_type margin) : void WindowText::clear() { - std::for_each(begin(), end(), rak::call_delete()); + std::for_each(begin(), end(), [](TextElement* text) { delete text; }); base_type::clear(); delete m_errorHandler; diff --git a/src/main.cc b/src/main.cc index 632d9f36..443c38dd 100644 --- a/src/main.cc +++ b/src/main.cc @@ -50,7 +50,6 @@ #include #include #include -#include #include #ifdef HAVE_BACKTRACE @@ -136,7 +135,7 @@ load_session_torrents() { // Replace with session torrent flag. f->set_session(true); f->set_init_load(true); - f->slot_finished(std::bind(&rak::call_delete_func, f)); + f->slot_finished([f](){ delete f; }); f->load(entries.path() + first->s_name); f->commit(); } @@ -151,7 +150,7 @@ load_arg_torrents(char** first, char** last) { // Replace with session torrent flag. f->set_start(true); f->set_init_load(true); - f->slot_finished(std::bind(&rak::call_delete_func, f)); + f->slot_finished([f](){ delete f; }); f->load(*first); f->commit(); } diff --git a/src/rpc/command_scheduler.cc b/src/rpc/command_scheduler.cc index f8d29442..c0861c5c 100644 --- a/src/rpc/command_scheduler.cc +++ b/src/rpc/command_scheduler.cc @@ -50,7 +50,7 @@ namespace rpc { CommandScheduler::~CommandScheduler() { - std::for_each(begin(), end(), rak::call_delete()); + std::for_each(begin(), end(), [](CommandSchedulerItem* item) { delete item; }); } CommandScheduler::iterator diff --git a/src/ui/download.cc b/src/ui/download.cc index a82e2f77..856bffa4 100644 --- a/src/ui/download.cc +++ b/src/ui/download.cc @@ -36,7 +36,6 @@ #include "config.h" -#include #include #include #include @@ -100,7 +99,7 @@ Download::~Download() { if (is_active()) throw torrent::internal_error("ui::Download::~Download() called on an active object."); - std::for_each(m_uiArray, m_uiArray + DISPLAY_MAX_SIZE, rak::call_delete()); + std::for_each(m_uiArray, m_uiArray + DISPLAY_MAX_SIZE, [](ElementBase* eb) { delete eb; }); delete m_windowDownloadStatus; } diff --git a/src/ui/download_list.cc b/src/ui/download_list.cc index f1d6af5c..96bb5074 100644 --- a/src/ui/download_list.cc +++ b/src/ui/download_list.cc @@ -38,7 +38,6 @@ #include -#include #include #include #include @@ -86,7 +85,7 @@ DownloadList::~DownloadList() { if (is_active()) throw std::logic_error("ui::DownloadList::~DownloadList() called on an active object"); - std::for_each(m_uiArray, m_uiArray + DISPLAY_MAX_SIZE, rak::call_delete()); + std::for_each(m_uiArray, m_uiArray + DISPLAY_MAX_SIZE, [](ElementBase* eb) { delete eb; }); delete m_windowLog; }