Connecting Tech Pros Worldwide Help | Site Map

How to store range iterator?

 
LinkBack Thread Tools Search this Thread
  #1  
Old September 5th, 2006, 06:45 AM
toton
Guest
 
Posts: n/a
Default How to store range iterator?

Hi,
I have a view class for a vector, which stores different range for a
few vectors, and provides a way to iterate over the range.
The range class takes a pair of iterator, as given in post
http://groups.google.com/group/comp....82fc1288b1231f

However, as the range class do not have a default ctor, and range is
not known when view class is constructed I can not initialize range
class at initialization list.Thus I need to store range class pointer
inside view class. When I want to set a new range for the view class, I
use,

void CC::setPtuRange(const PointRange& range){
if(!_reconstructedPoints)
_reconstructedPoints = new PointRange(range);
}
where _reconstructedPoints is a range class for CC (member variable).
Also I set it only once (but not at constructor). At constructor it is
initialized as NULL & destructor deleted.
Also when I return the range class, I use
PointRange CC::points()const{
return *_reconstructedPoints;
}
PointRange is typedef as
typedef PointBuffer::const_iterator PointIterator;
typedef range<PointIteratorPointRange
where PointBuffer is a vector<Point>
My questions are,
1) is it valid to return a value for the pointer with dereferencing
operator? Or I need to return a pointer directly?
2) can I also return a a reference? What is the best way to do it?
Thanks for any help .


 

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 220,662 network members.