From: <vo...@us...> - 2008-03-21 15:30:28
|
Revision: 698 http://opde.svn.sourceforge.net/opde/?rev=698&view=rev Author: volca Date: 2008-03-21 08:30:33 -0700 (Fri, 21 Mar 2008) Log Message: ----------- Changes related to the introduction of reference in iterator Modified Paths: -------------- trunk/src/services/inherit/InheritService.cpp Modified: trunk/src/services/inherit/InheritService.cpp =================================================================== --- trunk/src/services/inherit/InheritService.cpp 2008-03-21 15:29:37 UTC (rev 697) +++ trunk/src/services/inherit/InheritService.cpp 2008-03-21 15:30:33 UTC (rev 698) @@ -35,13 +35,16 @@ /// Just an empty result of a query class EmptyInheritQueryResult : public InheritQueryResult { public: - EmptyInheritQueryResult() : InheritQueryResult() { }; + EmptyInheritQueryResult() : InheritQueryResult(), mNullPtr(NULL) { }; - virtual const InheritLinkPtr next() { return NULL; }; + virtual const InheritLinkPtr& next() { return mNullPtr; }; virtual bool end() const { return true; }; + + protected: + InheritLinkPtr mNullPtr; }; class SimpleInheritQueryResult : public InheritQueryResult { @@ -50,16 +53,14 @@ mIter = mLinkMap.begin(); } - virtual const InheritLinkPtr next() { - if (!end()) { - InheritLinkPtr l = mIter->second; + virtual const InheritLinkPtr& next() { + assert(!end()); + + const InheritLinkPtr& l = mIter->second; - ++mIter; + ++mIter; - return l; - } else { - return NULL; - } + return l; } virtual bool end() const { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |