[Libreoffice-commits] .: binfilter/bf_sc binfilter/bf_svtools binfilter/inc
Eike Rathke
erack at kemper.freedesktop.org
Mon Dec 5 13:55:34 PST 2011
binfilter/bf_sc/source/filter/xml/xmlfilti.hxx | 2
binfilter/bf_svtools/source/filter.vcl/wmf/winmtf.hxx | 1
binfilter/inc/bf_sc/chgtrack.hxx | 2
binfilter/inc/bf_starmath/parse.hxx | 2
binfilter/inc/bf_tools/stack.hxx | 107 ++++++++++++++++++
5 files changed, 110 insertions(+), 4 deletions(-)
New commits:
commit f10b863248237e9878bb7e3603016d21f1868b93
Author: Eike Rathke <erack at redhat.com>
Date: Mon Dec 5 21:46:05 2011 +0100
moved tools/inc/tools/stack.hxx to binfilter/inc/bf_tools/
* in stack.hxx, included bf_tools/contnr.hxx instead of tools/contnr.hxx
* in stack.hxx, placed class Stack in namespace binfilter
* changed include tools/stack.hxx to bf_tools/stack.hxx
diff --git a/binfilter/bf_sc/source/filter/xml/xmlfilti.hxx b/binfilter/bf_sc/source/filter/xml/xmlfilti.hxx
index cca2708..7f356dc 100644
--- a/binfilter/bf_sc/source/filter/xml/xmlfilti.hxx
+++ b/binfilter/bf_sc/source/filter/xml/xmlfilti.hxx
@@ -28,13 +28,13 @@
#ifndef SC_XMLFILTI_HXX
#define SC_XMLFILTI_HXX
+#include <bf_tools/stack.hxx>
#include <bf_xmloff/xmlictxt.hxx>
#include <bf_xmloff/xmlimp.hxx>
#include <com/sun/star/table/CellAddress.hpp>
#include <com/sun/star/table/CellRangeAddress.hpp>
#include <com/sun/star/sheet/FilterOperator.hpp>
#include <com/sun/star/sheet/TableFilterField.hpp>
-#include <tools/stack.hxx>
#include "xmldrani.hxx"
#include "xmldpimp.hxx"
diff --git a/binfilter/bf_svtools/source/filter.vcl/wmf/winmtf.hxx b/binfilter/bf_svtools/source/filter.vcl/wmf/winmtf.hxx
index eee90f4..92e47a0 100644
--- a/binfilter/bf_svtools/source/filter.vcl/wmf/winmtf.hxx
+++ b/binfilter/bf_svtools/source/filter.vcl/wmf/winmtf.hxx
@@ -40,7 +40,6 @@
#include <sot/object.hxx>
#include <boost/shared_ptr.hpp>
#include <tools/debug.hxx>
-#include <tools/stack.hxx>
#include <tools/table.hxx>
#include <vcl/graph.hxx>
#include <vcl/virdev.hxx>
diff --git a/binfilter/inc/bf_sc/chgtrack.hxx b/binfilter/inc/bf_sc/chgtrack.hxx
index ed7870b..195c4ef 100644
--- a/binfilter/inc/bf_sc/chgtrack.hxx
+++ b/binfilter/inc/bf_sc/chgtrack.hxx
@@ -36,8 +36,8 @@
#include <tools/datetime.hxx>
#include <tools/table.hxx>
-#include <tools/stack.hxx>
#include <tools/mempool.hxx>
+#include <bf_tools/stack.hxx>
#include <bf_svtools/lstner.hxx>
#include "bigrange.hxx"
diff --git a/binfilter/inc/bf_starmath/parse.hxx b/binfilter/inc/bf_starmath/parse.hxx
index 0ccd4a8..e670b91 100644
--- a/binfilter/inc/bf_starmath/parse.hxx
+++ b/binfilter/inc/bf_starmath/parse.hxx
@@ -28,11 +28,11 @@
#ifndef PARSE_HXX
#define PARSE_HXX
+#include <bf_tools/stack.hxx>
#include <bf_svtools/bf_solar.h>
#include <vcl/svapp.hxx>
-#include <tools/stack.hxx>
#include <vector>
namespace binfilter {
diff --git a/binfilter/inc/bf_tools/stack.hxx b/binfilter/inc/bf_tools/stack.hxx
new file mode 100644
index 0000000..5d76b53
--- /dev/null
+++ b/binfilter/inc/bf_tools/stack.hxx
@@ -0,0 +1,107 @@
+/* -*- 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.
+ *
+ ************************************************************************/
+
+#ifndef _BF_STACK_HXX
+#define _BF_STACK_HXX
+
+#include <bf_tools/contnr.hxx>
+
+namespace binfilter {
+
+// ---------
+// - Stack -
+// ---------
+
+#define STACK_ENTRY_NOTFOUND CONTAINER_ENTRY_NOTFOUND
+
+class Stack : private Container
+{
+public:
+ using Container::Clear;
+ using Container::Count;
+ using Container::GetObject;
+ using Container::GetPos;
+
+ Stack( sal_uInt16 _nInitSize = 16, sal_uInt16 _nReSize = 16 ) :
+ Container( CONTAINER_MAXBLOCKSIZE, _nInitSize, _nReSize ) {}
+ Stack( const Stack& rStack ) : Container( rStack ) {}
+
+ void Push( void* p ) { Container::Insert( p, CONTAINER_APPEND ); }
+ void* Pop() { return Container::Remove( Count()-1 ); }
+ void* Top() const { return Container::GetObject( Count()-1 ); }
+
+ Stack& operator =( const Stack& rStack )
+ { Container::operator =( rStack ); return *this; }
+
+ sal_Bool operator ==( const Stack& rStack ) const
+ { return Container::operator ==( rStack ); }
+ sal_Bool operator !=( const Stack& rStack ) const
+ { return Container::operator !=( rStack ); }
+};
+
+// -----------------
+// - DECLARE_STACK -
+// -----------------
+
+#define DECLARE_STACK( ClassName, Type ) \
+class ClassName : private Stack \
+{ \
+public: \
+ using Stack::Clear; \
+ using Stack::Count; \
+ \
+ ClassName( sal_uInt16 _nInitSize = 16, \
+ sal_uInt16 _nReSize = 16 ) : \
+ Stack( _nInitSize, _nReSize ) {} \
+ ClassName( const ClassName& rClassName ) : \
+ Stack( rClassName ) {} \
+ \
+ void Push( Type p ) { Stack::Push( (void*)p ); } \
+ Type Pop() { return (Type)Stack::Pop(); } \
+ Type Top() const { return (Type)Stack::Top(); } \
+ \
+ Type GetObject( sal_uIntPtr nIndex ) const \
+ { return (Type)Stack::GetObject( nIndex ); } \
+ sal_uIntPtr GetPos( const Type p ) const \
+ { return Stack::GetPos( (const void*)p ); } \
+ \
+ ClassName& operator =( const ClassName& rClassName ) \
+ { Stack::operator =( rClassName ); \
+ return *this; } \
+ \
+ sal_Bool operator ==( const ClassName& rStack ) const \
+ { return Stack::operator ==( rStack ); } \
+ sal_Bool operator !=( const ClassName& rStack ) const \
+ { return Stack::operator !=( rStack ); } \
+};
+
+}
+
+#endif // _BF_STACK_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
More information about the Libreoffice-commits
mailing list