|
From: <net...@us...> - 2003-12-16 13:44:21
|
Update of /cvsroot/cpptool/rfta/src/rfta
In directory sc8-pr-cvs1:/tmp/cvs-serv28320/rfta/src/rfta
Modified Files:
TransformList.cpp TransformList.h
Log Message:
-- interface extension: overlap check
Index: TransformList.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/TransformList.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** TransformList.cpp 22 Dec 2002 16:03:53 -0000 1.4
--- TransformList.cpp 16 Dec 2003 13:44:18 -0000 1.5
***************
*** 28,32 ****
void
! TransformList::add( ReplaceTextTransform &transform )
{
transforms_.push_back( TransformPtr(&transform) );
--- 28,32 ----
void
! TransformList::add( Transform &transform )
{
transforms_.push_back( TransformPtr(&transform) );
***************
*** 65,68 ****
--- 65,85 ----
{
std::stable_sort( transforms_.begin(), transforms_.end(), SortPredicate() );
+ }
+
+ /**
+ * !! Attention !! Function does only work if 'sortListByStartIndex' was called first !
+ */
+ bool
+ TransformList::hasOverlapping( const SourceRange& range)
+ {
+ Transforms::iterator it = transforms_.begin();
+ while(it != transforms_.end() && (*it)->getStartIndex()<= range.getStartIndex())
+ {
+ const TransformPtr transform = *it;
+ if (range.overlap(SourceRange(transform->getStartIndex(),transform->getLength() ) ) )
+ return true;
+ it++;
+ }
+ return false;
}
Index: TransformList.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/TransformList.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** TransformList.h 26 Oct 2002 18:15:52 -0000 1.1
--- TransformList.h 16 Dec 2003 13:44:18 -0000 1.2
***************
*** 10,13 ****
--- 10,14 ----
#include <deque>
#include <boost/shared_ptr.hpp>
+ #include <rfta/parser/SourceRange.h>
***************
*** 15,19 ****
{
! class ReplaceTextTransform;
class TextDocument;
--- 16,20 ----
{
! class Transform;
class TextDocument;
***************
*** 30,34 ****
virtual ~TransformList();
! void add( ReplaceTextTransform &transform );
void apply( TextDocument &document );
--- 31,44 ----
virtual ~TransformList();
! void add( Transform &transform );
!
! /**
! * does check existing transformations for overlapping with given range.
! *
! * Attention: Function does only work if 'sortListByStartIndex' was called first !
! *
! * @param 'range' source range to be checked for overlapping
! */
! bool hasOverlapping( const SourceRange& range);
void apply( TextDocument &document );
***************
*** 46,50 ****
private:
! typedef boost::shared_ptr<ReplaceTextTransform> TransformPtr;
typedef std::deque<TransformPtr> Transforms;
Transforms transforms_;
--- 56,60 ----
private:
! typedef boost::shared_ptr<Transform> TransformPtr;
typedef std::deque<TransformPtr> Transforms;
Transforms transforms_;
|