c4_View v1; v1.Add(p1[111] + p2["one"]); v1.Add(p1[222] + p2["two"]); v1.Add(p1[333] + p2["three"]); v1.Add(p1[345] + p2["four"]); v1.Add(p1[234] + p2["five"]); v1.Add(p1[123] + p2["six"]); c4_View v2 = v1.Sort(); A(v2.GetSize() == 6); A(p1(v2[0]) == 111); A(p1(v2[1]) == 123); A(p1(v2[2]) == 222); A(p1(v2[3]) == 234); A(p1(v2[4]) == 333); A(p1(v2[5]) == 345); A(v2.Search(p1[123]) == 1); A(v2.Search(p1[100]) == 0); A(v2.Search(p1[200]) == 2); A(v2.Search(p1[400]) == 6); c4_View v3 = v1.SortOn(p2); A(v3.GetSize() == 6); A(p1(v3[0]) == 234); A(p1(v3[1]) == 345); A(p1(v3[2]) == 111); A(p1(v3[3]) == 123); A(p1(v3[4]) == 333); A(p1(v3[5]) == 222); A(v3.Search(p2["six"]) == 3); A(v3.Search(p2["aha"]) == 0); A(v3.Search(p2["gee"]) == 2); A(v3.Search(p2["wow"]) == 6);