[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