Solved

Please check this simple function...

Posted on 2008-06-16
14
153 Views
Last Modified: 2010-04-01
As per subject...

Thanks,
Uni
/*********************************************************************************

This returns a corrected iterator, ensuring that if we want to increase

aInitialIterator by aIncreaseBy, we don't go out of the highest bounds of

aHaystack.

*********************************************************************************/

vector<BIT>::iterator getCorrectedHighIterator(vector<BIT> &aHaystack, const vector<BIT>::iterator &aInitialIterator, const unsigned int aIncreaseBy){

	if(aHaystack.end()-aInitialIterator<aIncreaseBy)

		return aHaystack.end();

	return(aInitialIterator+aIncreaseBy);

}

/********************************************************************************/

Open in new window

0
Comment
Question by:Unimatrix_001
  • 6
  • 5
  • 3
14 Comments
 
LVL 53

Accepted Solution

by:
Infinity08 earned 60 total points
Comment Utility
Looks good to me.

Do you experience problems with it ?
0
 
LVL 40

Assisted Solution

by:evilrix
evilrix earned 40 total points
Comment Utility
Being picky now: This will probably fail in a nasty way if the iterator is not for the same vector as that passed in :)
0
 
LVL 3

Author Comment

by:Unimatrix_001
Comment Utility
>>Do you experience problems with it ?
None yet, although I thought I'd tested my other question code fully but found that to cause problems! :D

>>Being picky now: This will probably fail in a nasty way if the iterator is not for the same vector as that passed in :)
Hehe, that's not a problem - but thanks anyways.

Is a 50 50 split with you two okay - I got the two e-mails at exactly the same time...?
0
 
LVL 53

Expert Comment

by:Infinity08
Comment Utility
>> Is a 50 50 split with you two okay

Fine by me :)


I have been meaning to make the comment evilrix made a few times before, but I assumed you'd be aware of that ;)
0
 
LVL 40

Expert Comment

by:evilrix
Comment Utility
Also, why not template it, then it'd be generic for all container types, no? Also, I'd change it so it only works with iterators and doesn't worry about the container... it doesn't need to doe it? end() can be passed in as another iterator. This is normally how STL algos work (just with iterators).
0
 
LVL 40

Expert Comment

by:evilrix
Comment Utility
>> Is a 50 50 split with you two okay - I got the two e-mails at exactly the same time...?
Whatever you think best Uri  -- that works for me... although I don't feel like either of us really earned anything here :)
0
 
LVL 3

Author Comment

by:Unimatrix_001
Comment Utility
I've increse points to 100, doing a 60/40 split to Infinity (taking him at his word of trying a few times before the comment came though ;)

Ah the template is too much hassle for this - it is only a very small program, but I guess in the long run if I was going to make heavy use of it I would agree.

>>although I don't feel like either of us really earned anything here :)
You've put my mind at ease, that's enough for me! :)
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 40

Expert Comment

by:evilrix
Comment Utility
>> Ah the template is too much hassle for this
Eh?
template <typename T>

typename T::iterator getCorrectedHighIterator(

	T &aHaystack,

	const typename T::iterator &aInitialIterator,

	const unsigned int aIncreaseBy

	)

{

	if(aHaystack.end()-aInitialIterator<aIncreaseBy)

		return aHaystack.end();

	return(aInitialIterator+aIncreaseBy);

}

Open in new window

0
 
LVL 3

Author Comment

by:Unimatrix_001
Comment Utility
>>Eh?
Meh, I'm not very good at templates... besides you're a sage! You can just think something near a computer and it happens! :D
0
 
LVL 40

Expert Comment

by:evilrix
Comment Utility
>> Meh, I'm not very good at templates...
Sure you are -- you just don't know it yet :)

>> besides you're a sage!
I prefer sage and onion myself :)

>> You can just think something near a computer and it happens! :D
I tried this, I thought of lovely dancing girls -- nothing :(
0
 
LVL 3

Author Comment

by:Unimatrix_001
Comment Utility
>>Sure you are -- you just don't know it yet :)
Maybe one day... :)

>>I tried this, I thought of lovely dancing girls -- nothing :(
Hehehe, maybe they don't like sage and onion, try seperately... :D

Cheers mate. :)
Uni
0
 
LVL 40

Expert Comment

by:evilrix
Comment Utility
Cheer Uri, a pleasure as always :)
0
 
LVL 53

Expert Comment

by:Infinity08
Comment Utility
>> (taking him at his word of trying a few times before the comment came though ;)

Ah no, that was not what I intended ... I meant that I thought about making the same comment evilrix did a few times before (in your previous questions), but I never did. I'm glad evilrix did :)
0
 
LVL 3

Author Comment

by:Unimatrix_001
Comment Utility
Ah okay - sorry, my bad... :)
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Article by: SunnyDark
This article's goal is to present you with an easy to use XML wrapper for C++ and also present some interesting techniques that you might use with MS C++. The reason I built this class is to ease the pain of using XML files with C++, since there is…
Introduction This article is a continuation of the C/C++ Visual Studio Express debugger series. Part 1 provided a quick start guide in using the debugger. Part 2 focused on additional topics in breakpoints. As your assignments become a little more …
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now