diff options
Diffstat (limited to 'comphelper/inc/comphelper/scopeguard.hxx')
-rw-r--r-- | comphelper/inc/comphelper/scopeguard.hxx | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/comphelper/inc/comphelper/scopeguard.hxx b/comphelper/inc/comphelper/scopeguard.hxx deleted file mode 100644 index 6d8867cb49..0000000000 --- a/comphelper/inc/comphelper/scopeguard.hxx +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#if ! defined(INCLUDED_COMPHELPER_SCOPEGUARD_HXX) -#define INCLUDED_COMPHELPER_SCOPEGUARD_HXX - -#if ! defined(INCLUDED_COMPHELPERDLLAPI_H) -#include "comphelper/comphelperdllapi.h" -#endif -#include "boost/function.hpp" -#include "boost/noncopyable.hpp" -#include "boost/bind.hpp" - -namespace comphelper { - -/** ScopeGuard to ease writing exception-safe code. - */ -class COMPHELPER_DLLPUBLIC ScopeGuard : private ::boost::noncopyable - // noncopyable until we have - // good reasons... -{ -public: - enum exc_handling { IGNORE_EXCEPTIONS, ALLOW_EXCEPTIONS }; - - /** @param func function object to be executed in dtor - @param excHandling switches whether thrown exceptions in dtor will be - silently ignored (but OSL_ asserted) - */ - template <typename func_type> - explicit ScopeGuard( func_type const & func, - exc_handling excHandling = IGNORE_EXCEPTIONS ) - : m_func( func ), m_excHandling( excHandling ) {} - - ~ScopeGuard(); - - /** Dismisses the scope guard, i.e. the function won't - be executed. - */ - void dismiss(); - -private: - ::boost::function0<void> m_func; // preferring portable syntax - exc_handling const m_excHandling; -}; - -} // namespace comphelper - -#endif // ! defined(INCLUDED_COMPHELPER_SCOPEGUARD_HXX) - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |