diff options
author | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-05-02 01:33:54 +0000 |
---|---|---|
committer | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-05-02 01:33:54 +0000 |
commit | 983630c414c08d468817f26c7e7f12a849ef0c81 (patch) | |
tree | 2c755114c0f341ed1c8549a81d15e10f6278a782 | |
parent | 409b23d05d4d24074e18c983b515577dcdafc649 (diff) | |
download | ATCD-983630c414c08d468817f26c7e7f12a849ef0c81.tar.gz |
mods
-rw-r--r-- | TAO/orbsvcs/examples/FaultTolerance/FLARe/DeCoRAM/src/Combination_T.h | 19 |
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; |