Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(171)

Side by Side Diff: base/containers/flat_tree.h

Issue 2771643002: Enable noexcept on Windows, use for a few move constructors. (Closed)
Patch Set: jni Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef BASE_CONTAINERS_FLAT_TREE_H_ 5 #ifndef BASE_CONTAINERS_FLAT_TREE_H_
6 #define BASE_CONTAINERS_FLAT_TREE_H_ 6 #define BASE_CONTAINERS_FLAT_TREE_H_
7 7
8 #include <algorithm> 8 #include <algorithm>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 flat_tree(); 75 flat_tree();
76 explicit flat_tree(const key_compare& comp); 76 explicit flat_tree(const key_compare& comp);
77 77
78 // Not stable in the presence of duplicates in the initializer list. 78 // Not stable in the presence of duplicates in the initializer list.
79 template <class InputIterator> 79 template <class InputIterator>
80 flat_tree(InputIterator first, 80 flat_tree(InputIterator first,
81 InputIterator last, 81 InputIterator last,
82 const key_compare& comp = key_compare()); 82 const key_compare& comp = key_compare());
83 83
84 flat_tree(const flat_tree&); 84 flat_tree(const flat_tree&);
85 flat_tree(flat_tree&&); 85 flat_tree(flat_tree&&) noexcept;
86 86
87 // Not stable in the presence of duplicates in the initializer list. 87 // Not stable in the presence of duplicates in the initializer list.
88 flat_tree(std::initializer_list<value_type> ilist, 88 flat_tree(std::initializer_list<value_type> ilist,
89 const key_compare& comp = key_compare()); 89 const key_compare& comp = key_compare());
90 90
91 ~flat_tree(); 91 ~flat_tree();
92 92
93 // -------------------------------------------------------------------------- 93 // --------------------------------------------------------------------------
94 // Assignments. 94 // Assignments.
95 // 95 //
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 const KeyCompare& comp) 328 const KeyCompare& comp)
329 : impl_(comp, first, last) { 329 : impl_(comp, first, last) {
330 sort_and_unique(); 330 sort_and_unique();
331 } 331 }
332 332
333 template <class Key, class Value, class GetKeyFromValue, class KeyCompare> 333 template <class Key, class Value, class GetKeyFromValue, class KeyCompare>
334 flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::flat_tree( 334 flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::flat_tree(
335 const flat_tree&) = default; 335 const flat_tree&) = default;
336 336
337 template <class Key, class Value, class GetKeyFromValue, class KeyCompare> 337 template <class Key, class Value, class GetKeyFromValue, class KeyCompare>
338 flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::flat_tree(flat_tree&&) = 338 flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::flat_tree(
339 default; 339 flat_tree&&) noexcept = default;
340 340
341 template <class Key, class Value, class GetKeyFromValue, class KeyCompare> 341 template <class Key, class Value, class GetKeyFromValue, class KeyCompare>
342 flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::flat_tree( 342 flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::flat_tree(
343 std::initializer_list<value_type> ilist, 343 std::initializer_list<value_type> ilist,
344 const KeyCompare& comp) 344 const KeyCompare& comp)
345 : flat_tree(std::begin(ilist), std::end(ilist), comp) {} 345 : flat_tree(std::begin(ilist), std::end(ilist), comp) {}
346 346
347 template <class Key, class Value, class GetKeyFromValue, class KeyCompare> 347 template <class Key, class Value, class GetKeyFromValue, class KeyCompare>
348 flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::~flat_tree() = default; 348 flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::~flat_tree() = default;
349 349
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
708 void EraseIf(base::internal::flat_tree<Key, Value, GetKeyFromValue, KeyCompare>& 708 void EraseIf(base::internal::flat_tree<Key, Value, GetKeyFromValue, KeyCompare>&
709 container, 709 container,
710 Predicate pred) { 710 Predicate pred) {
711 container.erase(std::remove_if(container.begin(), container.end(), pred), 711 container.erase(std::remove_if(container.begin(), container.end(), pred),
712 container.end()); 712 container.end());
713 } 713 }
714 714
715 } // namespace base 715 } // namespace base
716 716
717 #endif // BASE_CONTAINERS_FLAT_TREE_H_ 717 #endif // BASE_CONTAINERS_FLAT_TREE_H_
OLDNEW
« base/containers/flat_map.h ('K') | « base/containers/flat_map.h ('k') | base/values.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698