summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Powers <jpowers27@cox.net>2011-01-22 19:50:28 -0800
committerJoseph Powers <jpowers27@cox.net>2011-01-22 19:50:28 -0800
commit6d6ff5db3399667b2d110dfdae0109977760c0a4 (patch)
tree7de94c1db7470884fb1ab74b254831ad89a4481e
parent5759fc6c7cc428c319de95e4702ecda9afd2b085 (diff)
Remove DECLARE_LIST( CfgStackList, CfgStackData* )
-rw-r--r--l10ntools/inc/cfgmerge.hxx26
-rw-r--r--l10ntools/source/cfgmerge.cxx33
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;
}
/*****************************************************************************/