From e3f328e4a24e2161fba58585e9f607c429b24c1b Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Fri, 29 Jan 2010 23:49:59 +0100 Subject: delete all members of containers with std::for_each --- src/base/language.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/base/language.cpp') diff --git a/src/base/language.cpp b/src/base/language.cpp index 340cdac4..74766795 100644 --- a/src/base/language.cpp +++ b/src/base/language.cpp @@ -50,8 +50,22 @@ namespace usdx { } + void remove_element(std::pair*> element) + { + if (element.second) { + element.second->clear(); + } + + delete element.second; + element.second = NULL; + } + Language::~Language(void) { + // clear memory for all elements in the map + std::for_each(translations.begin(), translations.end(), + remove_element); + translations.clear(); // remove reference from singleton to make regeneration possible instance = NULL; -- cgit v1.2.3