From 6d6ff5db3399667b2d110dfdae0109977760c0a4 Mon Sep 17 00:00:00 2001 From: Joseph Powers Date: Sat, 22 Jan 2011 19:50:28 -0800 Subject: Remove DECLARE_LIST( CfgStackList, CfgStackData* ) --- l10ntools/inc/cfgmerge.hxx | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) (limited to 'l10ntools/inc/cfgmerge.hxx') diff --git a/l10ntools/inc/cfgmerge.hxx b/l10ntools/inc/cfgmerge.hxx index 2416cc5d2c69..62dd70c43f5d 100644 --- a/l10ntools/inc/cfgmerge.hxx +++ b/l10ntools/inc/cfgmerge.hxx @@ -32,6 +32,7 @@ #include #include #include +#include typedef std::hash_map ByteStringHashMap; @@ -69,21 +70,32 @@ public: // class CfgStack // -DECLARE_LIST( CfgStackList, CfgStackData * ) +typedef ::std::vector< CfgStackData* > CfgStackList; -class CfgStack : public CfgStackList +class CfgStack { +private: + CfgStackList maList; + public: - CfgStack() : CfgStackList( 10, 10 ) {} + CfgStack() {} ~CfgStack(); - ULONG Push( CfgStackData *pStackData ); + size_t Push( CfgStackData *pStackData ); CfgStackData *Push( const ByteString &rTag, const ByteString &rId ); - CfgStackData *Pop() { return Remove( Count() - 1 ); } + CfgStackData *Pop() + { + if ( maList.empty() ) return NULL; + CfgStackData* temp = maList.back(); + maList.pop_back(); + return temp; + } + + CfgStackData *GetStackData( size_t nPos = LIST_APPEND ); - CfgStackData *GetStackData( ULONG nPos = LIST_APPEND ); + ByteString GetAccessPath( size_t nPos = LIST_APPEND ); - ByteString GetAccessPath( ULONG nPos = LIST_APPEND ); + size_t size() const { return maList.size(); } }; // -- cgit