summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-05-02 01:33:54 +0000
committerjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-05-02 01:33:54 +0000
commit983630c414c08d468817f26c7e7f12a849ef0c81 (patch)
tree2c755114c0f341ed1c8549a81d15e10f6278a782
parent409b23d05d4d24074e18c983b515577dcdafc649 (diff)
downloadATCD-983630c414c08d468817f26c7e7f12a849ef0c81.tar.gz
mods
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/FLARe/DeCoRAM/src/Combination_T.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/TAO/orbsvcs/examples/FaultTolerance/FLARe/DeCoRAM/src/Combination_T.h b/TAO/orbsvcs/examples/FaultTolerance/FLARe/DeCoRAM/src/Combination_T.h
index 0dee418ab26..e90395b0e34 100644
--- a/TAO/orbsvcs/examples/FaultTolerance/FLARe/DeCoRAM/src/Combination_T.h
+++ b/TAO/orbsvcs/examples/FaultTolerance/FLARe/DeCoRAM/src/Combination_T.h
@@ -18,7 +18,6 @@
#include <algorithm>
-
template <class ITERATOR>
inline bool
next_combination (ITERATOR base_begin,
@@ -36,7 +35,7 @@ next_combination (ITERATOR base_begin,
--temp_comb_end;
for (ITERATOR it = temp_comb_end;
- it != comb_begin && base_it != base_begin;
+ it != comb_begin || it == comb_begin;
--it, --base_it)
{
if (*it == *base_it)
@@ -44,7 +43,7 @@ next_combination (ITERATOR base_begin,
if (it != comb_begin)
{
marked = true;
- comb_mark = --it;
+ comb_mark = (--it);
++it;
continue;
}
@@ -53,12 +52,20 @@ next_combination (ITERATOR base_begin,
return false;
}
}
- else
+ else if (*it != *base_it)
{
if (marked)
{
- ITERATOR base_mark =
- std::find (base_begin, base_end, *comb_mark);
+ ITERATOR base_mark;
+ for (ITERATOR base_it2 = base_begin; base_it2 != base_end;
+ ++base_it2)
+ {
+ if (*comb_mark == *base_it2)
+ {
+ base_mark = base_it2;
+ break;
+ }
+ }
ITERATOR kt = ++base_mark;