Install upper_bound in ReadView:

*  And use it in doLedgerData.
This commit is contained in:
Howard Hinnant
2015-08-26 17:18:31 -04:00
committed by Edward Hennis
parent 849e1ce5f4
commit 83830ef9c0
13 changed files with 106 additions and 4 deletions

View File

@@ -435,6 +435,12 @@ class View_test
view.rawInsert (sle (4));
view.rawInsert (sle (5));
expect (sles (view) == list (2, 3, 4, 5));
auto b = view.sles.begin();
expect (view.sles.upper_bound(uint256(1)) == b); ++b;
expect (view.sles.upper_bound(uint256(2)) == b); ++b;
expect (view.sles.upper_bound(uint256(3)) == b); ++b;
expect (view.sles.upper_bound(uint256(4)) == b); ++b;
expect (view.sles.upper_bound(uint256(5)) == b);
}
{
setup123 ();
@@ -444,6 +450,12 @@ class View_test
view.rawInsert (sle (4));
view.rawInsert (sle (5));
expect (sles (view) == list (3, 4, 5));
auto b = view.sles.begin();
expect (view.sles.upper_bound(uint256(1)) == b);
expect (view.sles.upper_bound(uint256(2)) == b); ++b;
expect (view.sles.upper_bound(uint256(3)) == b); ++b;
expect (view.sles.upper_bound(uint256(4)) == b); ++b;
expect (view.sles.upper_bound(uint256(5)) == b);
}
{
setup123 ();
@@ -454,6 +466,12 @@ class View_test
view.rawInsert (sle (4));
view.rawInsert (sle (5));
expect (sles (view) == list (4, 5));
auto b = view.sles.begin();
expect (view.sles.upper_bound(uint256(1)) == b);
expect (view.sles.upper_bound(uint256(2)) == b);
expect (view.sles.upper_bound(uint256(3)) == b); ++b;
expect (view.sles.upper_bound(uint256(4)) == b); ++b;
expect (view.sles.upper_bound(uint256(5)) == b);
}
{
setup123 ();
@@ -462,6 +480,13 @@ class View_test
view.rawInsert (sle (4));
view.rawInsert (sle (5));
expect (sles (view) == list (1, 2, 4, 5));
auto b = view.sles.begin();
++b;
expect (view.sles.upper_bound(uint256(1)) == b); ++b;
expect (view.sles.upper_bound(uint256(2)) == b);
expect (view.sles.upper_bound(uint256(3)) == b); ++b;
expect (view.sles.upper_bound(uint256(4)) == b); ++b;
expect (view.sles.upper_bound(uint256(5)) == b);
}
{
setup123 ();
@@ -475,11 +500,25 @@ class View_test
view.rawErase (sle (3));
expect (sles (view) == list (1, 2));
auto b = view.sles.begin();
++b;
expect (view.sles.upper_bound(uint256(1)) == b); ++b;
expect (view.sles.upper_bound(uint256(2)) == b);
expect (view.sles.upper_bound(uint256(3)) == b);
expect (view.sles.upper_bound(uint256(4)) == b);
expect (view.sles.upper_bound(uint256(5)) == b);
view.rawInsert (sle (5));
view.rawInsert (sle (4));
view.rawInsert (sle (3));
expect (sles (view) == list (1, 2, 3, 4, 5));
b = view.sles.begin();
++b;
expect (view.sles.upper_bound(uint256(1)) == b); ++b;
expect (view.sles.upper_bound(uint256(2)) == b); ++b;
expect (view.sles.upper_bound(uint256(3)) == b); ++b;
expect (view.sles.upper_bound(uint256(4)) == b); ++b;
expect (view.sles.upper_bound(uint256(5)) == b);
}
}