diff options
author | Joseph Powers <jpowers27@cox.net> | 2011-01-22 19:50:28 -0800 |
---|---|---|
committer | Joseph Powers <jpowers27@cox.net> | 2011-01-22 19:50:28 -0800 |
commit | 6d6ff5db3399667b2d110dfdae0109977760c0a4 (patch) | |
tree | 7de94c1db7470884fb1ab74b254831ad89a4481e /l10ntools | |
parent | 5759fc6c7cc428c319de95e4702ecda9afd2b085 (diff) |
Remove DECLARE_LIST( CfgStackList, CfgStackData* )
Diffstat (limited to 'l10ntools')
-rw-r--r-- | l10ntools/inc/cfgmerge.hxx | 26 | ||||
-rw-r--r-- | l10ntools/source/cfgmerge.cxx | 33 |
2 files changed, 36 insertions, 23 deletions
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 <tools/string.hxx> #include <tools/list.hxx> #include <hash_map> +#include <vector> typedef std::hash_map<ByteString , ByteString , hashByteString,equalByteString> 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(); } }; // diff --git a/l10ntools/source/cfgmerge.cxx b/l10ntools/source/cfgmerge.cxx index 9840ee01f80c..cbbe329e669b 100644 --- a/l10ntools/source/cfgmerge.cxx +++ b/l10ntools/source/cfgmerge.cxx @@ -298,7 +298,7 @@ int GetError() CfgStackData* CfgStack::Push( const ByteString &rTag, const ByteString &rId ) { CfgStackData *pD = new CfgStackData( rTag, rId ); - Insert( pD, LIST_APPEND ); + maList.push_back( pD ); return pD; } @@ -310,19 +310,20 @@ CfgStackData* CfgStack::Push( const ByteString &rTag, const ByteString &rId ) CfgStack::~CfgStack() /*****************************************************************************/ { - for ( ULONG i = 0; i < Count(); i++ ) - delete GetObject( i ); + for ( size_t i = 0, n = maList.size(); i < n; i++ ) + delete maList[ i ]; + maList.clear(); } /*****************************************************************************/ -ByteString CfgStack::GetAccessPath( ULONG nPos ) +ByteString CfgStack::GetAccessPath( size_t nPos ) /*****************************************************************************/ { if ( nPos == LIST_APPEND ) - nPos = Count() - 1; + nPos = maList.size() - 1; ByteString sReturn; - for ( ULONG i = 0; i <= nPos; i++ ) { + for ( size_t i = 0; i <= nPos; i++ ) { if ( i ) sReturn += "."; sReturn += GetStackData( i )->GetIdentifier(); @@ -332,13 +333,13 @@ ByteString CfgStack::GetAccessPath( ULONG nPos ) } /*****************************************************************************/ -CfgStackData *CfgStack::GetStackData( ULONG nPos ) +CfgStackData *CfgStack::GetStackData( size_t nPos ) /*****************************************************************************/ { if ( nPos == LIST_APPEND ) - nPos = Count() - 1; + nPos = maList.size() - 1; - return GetObject( nPos ); + return maList[ nPos ]; } // @@ -662,12 +663,12 @@ void CfgExport::WorkOnRessourceEnd() ByteString sLocalId = pStackData->sIdentifier; ByteString sGroupId; - if ( aStack.Count() == 1 ) { + if ( aStack.size() == 1 ) { sGroupId = sLocalId; sLocalId = ""; } else { - sGroupId = aStack.GetAccessPath( aStack.Count() - 2 ); + sGroupId = aStack.GetAccessPath( aStack.size() - 2 ); } ByteString sTimeStamp( Export::GetTimeStamp()); @@ -760,12 +761,12 @@ void CfgMerge::WorkOnText( if ( !pResData ) { ByteString sLocalId = pStackData->sIdentifier; ByteString sGroupId; - if ( aStack.Count() == 1 ) { + if ( aStack.size() == 1 ) { sGroupId = sLocalId; sLocalId = ""; } else { - sGroupId = aStack.GetAccessPath( aStack.Count() - 2 ); + sGroupId = aStack.GetAccessPath( aStack.size() - 2 ); } ByteString sPlatform( "" ); @@ -806,10 +807,10 @@ void CfgMerge::Output( const ByteString& rOutput ) pOutputStream->Write( rOutput.GetBuffer(), rOutput.Len()); } -ULONG CfgStack::Push( CfgStackData *pStackData ) +size_t CfgStack::Push( CfgStackData *pStackData ) { - Insert( pStackData, LIST_APPEND ); - return Count() - 1; + maList.push_back( pStackData ); + return maList.size() - 1; } /*****************************************************************************/ |