summaryrefslogtreecommitdiff
path: root/idl/inc/basobj.hxx
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2012-08-07 16:56:51 +0200
committerTor Lillqvist <tlillqvist@suse.com>2012-08-08 13:53:07 +0300
commit016918cf9459eccc177bfedbe75c6296b3b4bb67 (patch)
treed6966ad5b74e79d8aff54cefb6e34309b671f8df /idl/inc/basobj.hxx
parent552cc040866bb2d25cf6187c92d9c4acd0db82d8 (diff)
STL'ify SV_DECL_IMPL_PERSIST_LIST
Converts it to a template based on std::vector Change-Id: Id7f89f494164c61a3a573cff443ac0e0488e93f1
Diffstat (limited to 'idl/inc/basobj.hxx')
-rw-r--r--idl/inc/basobj.hxx31
1 files changed, 14 insertions, 17 deletions
diff --git a/idl/inc/basobj.hxx b/idl/inc/basobj.hxx
index ce7f47bf50e6..cc6343744aa7 100644
--- a/idl/inc/basobj.hxx
+++ b/idl/inc/basobj.hxx
@@ -73,9 +73,8 @@ public:
WriteType, WriteAttribute = 0 );
};
SV_DECL_IMPL_REF(SvMetaObject)
-SV_DECL_PERSIST_LIST(SvMetaObject,SvMetaObject *)
-SV_IMPL_PERSIST_LIST(SvMetaObject,SvMetaObject *)
+class SvMetaObjectMemberList : public SvDeclPersistList<SvMetaObject *> {};
class SvMetaObjectMemberStack
{
@@ -84,21 +83,17 @@ public:
SvMetaObjectMemberStack() {;}
void Push( SvMetaObject * pObj )
- { aList.Insert( pObj, LIST_APPEND ); }
- SvMetaObject * Pop() { return aList.Remove( aList.Count() -1 ); }
- SvMetaObject * Top() const { return aList.GetObject( aList.Count() -1 ); }
- void Clear() { aList.Clear(); }
- sal_uLong Count() const { return aList.Count(); }
+ { aList.push_back( pObj ); }
+ SvMetaObject * Pop() { return aList.pop_back(); }
+ SvMetaObject * Top() const { return aList.back(); }
+ void Clear() { aList.clear(); }
+ sal_uLong Count() const { return aList.size(); }
SvMetaObject * Get( TypeId nType )
{
- SvMetaObject * pObj = aList.Last();
- while( pObj )
- {
- if( pObj->IsA( nType ) )
- return pObj;
- pObj = aList.Prev();
- }
+ for( SvMetaObjectMemberList::reverse_iterator it = aList.rbegin(); it != aList.rend(); ++it )
+ if( (*it)->IsA( nType ) )
+ return *it;
return NULL;
}
};
@@ -147,7 +142,8 @@ public:
void WriteDescription( SvStream& rOutStm );
};
SV_DECL_IMPL_REF(SvMetaName)
-SV_DECL_IMPL_PERSIST_LIST(SvMetaName,SvMetaName *)
+
+class SvMetaNameMemberList : public SvDeclPersistList<SvMetaName *> {};
SV_DECL_REF(SvMetaReference)
@@ -195,7 +191,8 @@ public:
{ aRef = pRef; }
};
SV_IMPL_REF(SvMetaReference)
-SV_DECL_IMPL_PERSIST_LIST(SvMetaReference,SvMetaReference *)
+
+class SvMetaReferenceMemberList : public SvDeclPersistList<SvMetaReference *> {};
class SvMetaModule;
@@ -229,8 +226,8 @@ protected:
WriteType, WriteAttribute = 0);
};
SV_DECL_IMPL_REF(SvMetaExtern)
-SV_DECL_IMPL_PERSIST_LIST(SvMetaExtern,SvMetaExtern *)
+class SvMetaExternMemberList : public SvDeclPersistList<SvMetaExtern *> {};
#endif // _BASOBJ_HXX