diff options
Diffstat (limited to 'chart2/source/inc/DisposeHelper.hxx')
-rw-r--r-- | chart2/source/inc/DisposeHelper.hxx | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/chart2/source/inc/DisposeHelper.hxx b/chart2/source/inc/DisposeHelper.hxx index 9f02ca3f8ab4..e39c88760dcc 100644 --- a/chart2/source/inc/DisposeHelper.hxx +++ b/chart2/source/inc/DisposeHelper.hxx @@ -16,43 +16,43 @@ * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#ifndef INCLUDED_CHART2_SOURCE_INC_DISPOSEHELPER_HXX -#define INCLUDED_CHART2_SOURCE_INC_DISPOSEHELPER_HXX +#pragma once #include <com/sun/star/uno/Reference.h> #include <com/sun/star/lang/XComponent.hpp> -namespace chart +namespace chart::DisposeHelper { -namespace DisposeHelper -{ - -template<class T> -void Dispose(const T & xInterface) +template <class T> void Dispose(const T& xInterface) { css::uno::Reference<css::lang::XComponent> xComponent(xInterface, css::uno::UNO_QUERY); if (xComponent.is()) xComponent->dispose(); } -template<class T> -void DisposeAndClear(css::uno::Reference<T> & rInterface) +template <class T> void DisposeAndClear(css::uno::Reference<T>& rInterface) { Dispose<css::uno::Reference<T>>(rInterface); - rInterface.set(nullptr); + rInterface.clear(); } -template<class Container> -void DisposeAllElements(Container & rContainer) +template <class T> void DisposeAndClear(rtl::Reference<T>& rInterface) { - for (const auto & rElement : rContainer) + if (rInterface) { - Dispose<typename Container::value_type>(rElement); + rInterface->dispose(); + rInterface.clear(); } } -}} // namespace chart::DisposeHelper +template <class Container> void DisposeAllElements(Container& rContainer) +{ + for (const auto& rElement : rContainer) + { + Dispose<typename Container::value_type>(rElement); + } +} -#endif // INCLUDED_CHART2_SOURCE_INC_DISPOSEHELPER_HXX +} // namespace chart::DisposeHelper /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |