From 5d2210d5f3fecbd922fdccf0fa9d4b057880b409 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Fri, 7 Oct 2016 08:58:55 +0100 Subject: might as well go back to a std::stack now after... commit 8daf6707ef203b26a744140f74d7cd231a25f0dd Author: Michael Stahl Date: Thu Oct 6 23:37:51 2016 +0200 xmloff: fix crash in ~XMLParaContext on fdo72541-1.fodt Change-Id: I57f10e60a2f76dde048a594d8391bb5b246dfc63 --- include/o3tl/stack.hxx | 78 -------------------------------------------------- 1 file changed, 78 deletions(-) delete mode 100644 include/o3tl/stack.hxx (limited to 'include/o3tl') diff --git a/include/o3tl/stack.hxx b/include/o3tl/stack.hxx deleted file mode 100644 index 1fa793481294..000000000000 --- a/include/o3tl/stack.hxx +++ /dev/null @@ -1,78 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - */ - -#ifndef INCLUDED_O3TL_STACK_HXX -#define INCLUDED_O3TL_STACK_HXX - -#include - -namespace o3tl -{ - -/** - * - * Same as std::stack (it just wraps it) except at destruction time the - * container elements are destroyed in order starting from the top of the stack - * which is the order one would rather assume a stack uses, but doesn't have to - * - * https://connect.microsoft.com/VisualStudio/feedback/details/765649/std-vector-does-not-destruct-in-reverse-order-of-construction - * - **/ - -template class stack final -{ -private: - typedef std::stack stack_t; - - stack_t mStack; -public: - - T& top() - { - return mStack.top(); - } - - const T& top() const - { - return mStack.top(); - } - - void push(const T& val) - { - mStack.push(val); - } - - void push(T&& val) - { - mStack.push(val); - } - - void pop() - { - mStack.pop(); - } - - bool empty() const - { - return mStack.empty(); - } - - ~stack() - { - while (!mStack.empty()) - mStack.pop(); - } -}; - -} - -#endif /* INCLUDED_O3TL_STACK_HXX */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3