diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2014-10-31 14:41:14 +0000 |
---|---|---|
committer | <> | 2014-12-12 16:07:56 +0000 |
commit | ed232fdd34968697a68783b3195b1da4226915b5 (patch) | |
tree | 7a7053ceb8874b28ec4b868d4c49b500008a102e /libs/container/test/flat_map_test.cpp | |
parent | 1c3648bf5b7d17fcd4fe9bc95802b16fd9eee304 (diff) | |
download | boost-tarball-ed232fdd34968697a68783b3195b1da4226915b5.tar.gz |
Imported from /home/lorry/working-area/delta_boost-tarball/boost_1_57_0.tar.bz2.boost_1_57_0
Diffstat (limited to 'libs/container/test/flat_map_test.cpp')
-rw-r--r-- | libs/container/test/flat_map_test.cpp | 69 |
1 files changed, 58 insertions, 11 deletions
diff --git a/libs/container/test/flat_map_test.cpp b/libs/container/test/flat_map_test.cpp index a2feb0ee4..b0ae33021 100644 --- a/libs/container/test/flat_map_test.cpp +++ b/libs/container/test/flat_map_test.cpp @@ -150,6 +150,10 @@ class recursive_flat_map int id_; flat_map<recursive_flat_map, recursive_flat_map> map_; + flat_map<recursive_flat_map, recursive_flat_map>::iterator it_; + flat_map<recursive_flat_map, recursive_flat_map>::const_iterator cit_; + flat_map<recursive_flat_map, recursive_flat_map>::reverse_iterator rit_; + flat_map<recursive_flat_map, recursive_flat_map>::const_reverse_iterator crit_; friend bool operator< (const recursive_flat_map &a, const recursive_flat_map &b) { return a.id_ < b.id_; } @@ -170,7 +174,12 @@ public: return *this; } int id_; - flat_map<recursive_flat_multimap, recursive_flat_multimap> map_; + flat_multimap<recursive_flat_multimap, recursive_flat_multimap> map_; + flat_multimap<recursive_flat_multimap, recursive_flat_multimap>::iterator it_; + flat_multimap<recursive_flat_multimap, recursive_flat_multimap>::const_iterator cit_; + flat_multimap<recursive_flat_multimap, recursive_flat_multimap>::reverse_iterator rit_; + flat_multimap<recursive_flat_multimap, recursive_flat_multimap>::const_reverse_iterator crit_; + friend bool operator< (const recursive_flat_multimap &a, const recursive_flat_multimap &b) { return a.id_ < b.id_; } }; @@ -238,24 +247,24 @@ bool flat_tree_ordered_insertion_test() } //Construction insertion flat_multimap<int, int> fmmap(ordered_range, int_mmap.begin(), int_mmap.end()); - if(!CheckEqualContainers(&int_mmap, &fmmap)) + if(!CheckEqualContainers(int_mmap, fmmap)) return false; //Insertion when empty fmmap.clear(); fmmap.insert(ordered_range, int_mmap.begin(), int_mmap.end()); - if(!CheckEqualContainers(&int_mmap, &fmmap)) + if(!CheckEqualContainers(int_mmap, fmmap)) return false; //Re-insertion fmmap.insert(ordered_range, int_mmap.begin(), int_mmap.end()); std::multimap<int, int> int_mmap2(int_mmap); int_mmap2.insert(int_mmap.begin(), int_mmap.end()); - if(!CheckEqualContainers(&int_mmap2, &fmmap)) + if(!CheckEqualContainers(int_mmap2, fmmap)) return false; //Re-re-insertion fmmap.insert(ordered_range, int_mmap2.begin(), int_mmap2.end()); std::multimap<int, int> int_mmap4(int_mmap2); int_mmap4.insert(int_mmap2.begin(), int_mmap2.end()); - if(!CheckEqualContainers(&int_mmap4, &fmmap)) + if(!CheckEqualContainers(int_mmap4, fmmap)) return false; //Re-re-insertion of even std::multimap<int, int> int_even_mmap; @@ -264,7 +273,7 @@ bool flat_tree_ordered_insertion_test() } fmmap.insert(ordered_range, int_even_mmap.begin(), int_even_mmap.end()); int_mmap4.insert(int_even_mmap.begin(), int_even_mmap.end()); - if(!CheckEqualContainers(&int_mmap4, &fmmap)) + if(!CheckEqualContainers(int_mmap4, fmmap)) return false; } @@ -276,24 +285,24 @@ bool flat_tree_ordered_insertion_test() } //Construction insertion flat_map<int, int> fmap(ordered_unique_range, int_map.begin(), int_map.end()); - if(!CheckEqualContainers(&int_map, &fmap)) + if(!CheckEqualContainers(int_map, fmap)) return false; //Insertion when empty fmap.clear(); fmap.insert(ordered_unique_range, int_map.begin(), int_map.end()); - if(!CheckEqualContainers(&int_map, &fmap)) + if(!CheckEqualContainers(int_map, fmap)) return false; //Re-insertion fmap.insert(ordered_unique_range, int_map.begin(), int_map.end()); std::map<int, int> int_map2(int_map); int_map2.insert(int_map.begin(), int_map.end()); - if(!CheckEqualContainers(&int_map2, &fmap)) + if(!CheckEqualContainers(int_map2, fmap)) return false; //Re-re-insertion fmap.insert(ordered_unique_range, int_map2.begin(), int_map2.end()); std::map<int, int> int_map4(int_map2); int_map4.insert(int_map2.begin(), int_map2.end()); - if(!CheckEqualContainers(&int_map4, &fmap)) + if(!CheckEqualContainers(int_map4, fmap)) return false; //Re-re-insertion of even std::map<int, int> int_even_map; @@ -302,7 +311,7 @@ bool flat_tree_ordered_insertion_test() } fmap.insert(ordered_unique_range, int_even_map.begin(), int_even_map.end()); int_map4.insert(int_even_map.begin(), int_even_map.end()); - if(!CheckEqualContainers(&int_map4, &fmap)) + if(!CheckEqualContainers(int_map4, fmap)) return false; } @@ -389,6 +398,38 @@ int test_map_variants() return 0; } +template<typename FlatMapType> +bool test_support_for_initialization_list_for() +{ +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + const std::initializer_list<std::pair<int, int>> il + = {std::make_pair(1, 2), std::make_pair(3, 4)}; + + const FlatMapType expected(il.begin(), il.end()); + { + const FlatMapType sil = il; + if (sil != expected) + return false; + + const FlatMapType sil_ordered(ordered_unique_range, il); + if(sil_ordered != expected) + return false; + + FlatMapType sil_assign = {std::make_pair(99, 100)}; + sil_assign = il; + if(sil_assign != expected) + return false; + } + { + FlatMapType sil; + sil.insert(il); + if(sil != expected) + return false; + } + return true; +#endif + return true; +} int main() { @@ -436,6 +477,12 @@ int main() return 1; } + if(!test_support_for_initialization_list_for<flat_map<int, int> >()) + return 1; + + if(!test_support_for_initialization_list_for<flat_multimap<int, int> >()) + return 1; + //////////////////////////////////// // Emplace testing //////////////////////////////////// |