diff options
author | Howard Hinnant <hhinnant@apple.com> | 2010-09-23 18:58:28 +0000 |
---|---|---|
committer | Howard Hinnant <hhinnant@apple.com> | 2010-09-23 18:58:28 +0000 |
commit | 789847ddbbcd683bfc427babed0fd8baf726aaa3 (patch) | |
tree | f1f76ca440f58a3f9c055bcbe07c25d80cb4934d /libcxx/include/unordered_set | |
parent | e38495dbc0478981f0bf4e2cec5daf4e58375330 (diff) | |
download | bcm5719-llvm-789847ddbbcd683bfc427babed0fd8baf726aaa3.tar.gz bcm5719-llvm-789847ddbbcd683bfc427babed0fd8baf726aaa3.zip |
visibility-decoration sweep completed.
llvm-svn: 114685
Diffstat (limited to 'libcxx/include/unordered_set')
-rw-r--r-- | libcxx/include/unordered_set | 120 |
1 files changed, 105 insertions, 15 deletions
diff --git a/libcxx/include/unordered_set b/libcxx/include/unordered_set index d677e8b73f1..419674c51fa 100644 --- a/libcxx/include/unordered_set +++ b/libcxx/include/unordered_set @@ -271,7 +271,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD template <class _Value, class _Hash = hash<_Value>, class _Pred = equal_to<_Value>, class _Alloc = allocator<_Value> > -class unordered_set +class _LIBCPP_VISIBLE unordered_set { public: // types @@ -299,6 +299,7 @@ public: typedef typename __table::const_local_iterator local_iterator; typedef typename __table::const_local_iterator const_local_iterator; + _LIBCPP_INLINE_VISIBILITY unordered_set() {} // = default; explicit unordered_set(size_type __n, const hasher& __hf = hasher(), const key_equal& __eql = key_equal()); @@ -335,81 +336,125 @@ public: #endif unordered_set& operator=(initializer_list<value_type> __il); + _LIBCPP_INLINE_VISIBILITY allocator_type get_allocator() const {return allocator_type(__table_.__node_alloc());} + _LIBCPP_INLINE_VISIBILITY bool empty() const {return __table_.size() == 0;} + _LIBCPP_INLINE_VISIBILITY size_type size() const {return __table_.size();} + _LIBCPP_INLINE_VISIBILITY size_type max_size() const {return __table_.max_size();} + _LIBCPP_INLINE_VISIBILITY iterator begin() {return __table_.begin();} + _LIBCPP_INLINE_VISIBILITY iterator end() {return __table_.end();} + _LIBCPP_INLINE_VISIBILITY const_iterator begin() const {return __table_.begin();} + _LIBCPP_INLINE_VISIBILITY const_iterator end() const {return __table_.end();} + _LIBCPP_INLINE_VISIBILITY const_iterator cbegin() const {return __table_.begin();} + _LIBCPP_INLINE_VISIBILITY const_iterator cend() const {return __table_.end();} #if !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_VARIADICS) template <class... _Args> + _LIBCPP_INLINE_VISIBILITY pair<iterator, bool> emplace(_Args&&... __args) {return __table_.__emplace_unique(_STD::forward<_Args>(__args)...);} template <class... _Args> + _LIBCPP_INLINE_VISIBILITY iterator emplace_hint(const_iterator, _Args&&... __args) {return __table_.__emplace_unique(_STD::forward<_Args>(__args)...).first;} #endif // !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_VARIADICS) + _LIBCPP_INLINE_VISIBILITY pair<iterator, bool> insert(const value_type& __x) {return __table_.__insert_unique(__x);} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY pair<iterator, bool> insert(value_type&& __x) {return __table_.__insert_unique(_STD::move(__x));} #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY iterator insert(const_iterator, const value_type& __x) {return insert(__x).first;} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY iterator insert(const_iterator, value_type&& __x) {return insert(_STD::move(__x)).first;} #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _InputIterator> void insert(_InputIterator __first, _InputIterator __last); + _LIBCPP_INLINE_VISIBILITY void insert(initializer_list<value_type> __il) {insert(__il.begin(), __il.end());} + _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __p) {return __table_.erase(__p);} + _LIBCPP_INLINE_VISIBILITY size_type erase(const key_type& __k) {return __table_.__erase_unique(__k);} + _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __first, const_iterator __last) {return __table_.erase(__first, __last);} + _LIBCPP_INLINE_VISIBILITY void clear() {__table_.clear();} + _LIBCPP_INLINE_VISIBILITY void swap(unordered_set& __u) {__table_.swap(__u.__table_);} + _LIBCPP_INLINE_VISIBILITY hasher hash_function() const {return __table_.hash_function();} + _LIBCPP_INLINE_VISIBILITY key_equal key_eq() const {return __table_.key_eq();} + _LIBCPP_INLINE_VISIBILITY iterator find(const key_type& __k) {return __table_.find(__k);} + _LIBCPP_INLINE_VISIBILITY const_iterator find(const key_type& __k) const {return __table_.find(__k);} + _LIBCPP_INLINE_VISIBILITY size_type count(const key_type& __k) const {return __table_.__count_unique(__k);} + _LIBCPP_INLINE_VISIBILITY pair<iterator, iterator> equal_range(const key_type& __k) {return __table_.__equal_range_unique(__k);} + _LIBCPP_INLINE_VISIBILITY pair<const_iterator, const_iterator> equal_range(const key_type& __k) const {return __table_.__equal_range_unique(__k);} + _LIBCPP_INLINE_VISIBILITY size_type bucket_count() const {return __table_.bucket_count();} + _LIBCPP_INLINE_VISIBILITY size_type max_bucket_count() const {return __table_.max_bucket_count();} + _LIBCPP_INLINE_VISIBILITY size_type bucket_size(size_type __n) const {return __table_.bucket_size(__n);} + _LIBCPP_INLINE_VISIBILITY size_type bucket(const key_type& __k) const {return __table_.bucket(__k);} + _LIBCPP_INLINE_VISIBILITY local_iterator begin(size_type __n) {return __table_.begin(__n);} + _LIBCPP_INLINE_VISIBILITY local_iterator end(size_type __n) {return __table_.end(__n);} + _LIBCPP_INLINE_VISIBILITY const_local_iterator begin(size_type __n) const {return __table_.cbegin(__n);} + _LIBCPP_INLINE_VISIBILITY const_local_iterator end(size_type __n) const {return __table_.cend(__n);} + _LIBCPP_INLINE_VISIBILITY const_local_iterator cbegin(size_type __n) const {return __table_.cbegin(__n);} + _LIBCPP_INLINE_VISIBILITY const_local_iterator cend(size_type __n) const {return __table_.cend(__n);} + _LIBCPP_INLINE_VISIBILITY float load_factor() const {return __table_.load_factor();} + _LIBCPP_INLINE_VISIBILITY float max_load_factor() const {return __table_.max_load_factor();} + _LIBCPP_INLINE_VISIBILITY void max_load_factor(float __mlf) {__table_.max_load_factor(__mlf);} + _LIBCPP_INLINE_VISIBILITY void rehash(size_type __n) {__table_.rehash(__n);} + _LIBCPP_INLINE_VISIBILITY void reserve(size_type __n) {__table_.reserve(__n);} }; @@ -460,7 +505,7 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set( } template <class _Value, class _Hash, class _Pred, class _Alloc> -inline +inline _LIBCPP_INLINE_VISIBILITY unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set( const allocator_type& __a) : __table_(__a) @@ -488,7 +533,7 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set( #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Value, class _Hash, class _Pred, class _Alloc> -inline +inline _LIBCPP_INLINE_VISIBILITY unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set( unordered_set&& __u) : __table_(_STD::move(__u.__table_)) @@ -540,7 +585,7 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set( #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Value, class _Hash, class _Pred, class _Alloc> -inline +inline _LIBCPP_INLINE_VISIBILITY unordered_set<_Value, _Hash, _Pred, _Alloc>& unordered_set<_Value, _Hash, _Pred, _Alloc>::operator=(unordered_set&& __u) { @@ -551,7 +596,7 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::operator=(unordered_set&& __u) #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Value, class _Hash, class _Pred, class _Alloc> -inline +inline _LIBCPP_INLINE_VISIBILITY unordered_set<_Value, _Hash, _Pred, _Alloc>& unordered_set<_Value, _Hash, _Pred, _Alloc>::operator=( initializer_list<value_type> __il) @@ -562,7 +607,7 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::operator=( template <class _Value, class _Hash, class _Pred, class _Alloc> template <class _InputIterator> -inline +inline _LIBCPP_INLINE_VISIBILITY void unordered_set<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, _InputIterator __last) @@ -572,7 +617,7 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, } template <class _Value, class _Hash, class _Pred, class _Alloc> -inline +inline _LIBCPP_INLINE_VISIBILITY void swap(unordered_set<_Value, _Hash, _Pred, _Alloc>& __x, unordered_set<_Value, _Hash, _Pred, _Alloc>& __y) @@ -600,7 +645,7 @@ operator==(const unordered_set<_Value, _Hash, _Pred, _Alloc>& __x, } template <class _Value, class _Hash, class _Pred, class _Alloc> -inline +inline _LIBCPP_INLINE_VISIBILITY bool operator!=(const unordered_set<_Value, _Hash, _Pred, _Alloc>& __x, const unordered_set<_Value, _Hash, _Pred, _Alloc>& __y) @@ -610,7 +655,7 @@ operator!=(const unordered_set<_Value, _Hash, _Pred, _Alloc>& __x, template <class _Value, class _Hash = hash<_Value>, class _Pred = equal_to<_Value>, class _Alloc = allocator<_Value> > -class unordered_multiset +class _LIBCPP_VISIBLE unordered_multiset { public: // types @@ -638,6 +683,7 @@ public: typedef typename __table::const_local_iterator local_iterator; typedef typename __table::const_local_iterator const_local_iterator; + _LIBCPP_INLINE_VISIBILITY unordered_multiset() {} // = default explicit unordered_multiset(size_type __n, const hasher& __hf = hasher(), const key_equal& __eql = key_equal()); @@ -674,79 +720,123 @@ public: #endif unordered_multiset& operator=(initializer_list<value_type> __il); + _LIBCPP_INLINE_VISIBILITY allocator_type get_allocator() const {return allocator_type(__table_.__node_alloc());} + _LIBCPP_INLINE_VISIBILITY bool empty() const {return __table_.size() == 0;} + _LIBCPP_INLINE_VISIBILITY size_type size() const {return __table_.size();} + _LIBCPP_INLINE_VISIBILITY size_type max_size() const {return __table_.max_size();} + _LIBCPP_INLINE_VISIBILITY iterator begin() {return __table_.begin();} + _LIBCPP_INLINE_VISIBILITY iterator end() {return __table_.end();} + _LIBCPP_INLINE_VISIBILITY const_iterator begin() const {return __table_.begin();} + _LIBCPP_INLINE_VISIBILITY const_iterator end() const {return __table_.end();} + _LIBCPP_INLINE_VISIBILITY const_iterator cbegin() const {return __table_.begin();} + _LIBCPP_INLINE_VISIBILITY const_iterator cend() const {return __table_.end();} #if !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_VARIADICS) template <class... _Args> + _LIBCPP_INLINE_VISIBILITY iterator emplace(_Args&&... __args) {return __table_.__emplace_multi(_STD::forward<_Args>(__args)...);} template <class... _Args> + _LIBCPP_INLINE_VISIBILITY iterator emplace_hint(const_iterator __p, _Args&&... __args) {return __table_.__emplace_hint_multi(__p, _STD::forward<_Args>(__args)...);} #endif // !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_VARIADICS) + _LIBCPP_INLINE_VISIBILITY iterator insert(const value_type& __x) {return __table_.__insert_multi(__x);} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY iterator insert(value_type&& __x) {return __table_.__insert_multi(_STD::move(__x));} #endif + _LIBCPP_INLINE_VISIBILITY iterator insert(const_iterator __p, const value_type& __x) {return __table_.__insert_multi(__p, __x);} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY iterator insert(const_iterator __p, value_type&& __x) {return __table_.__insert_multi(__p, _STD::move(__x));} #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _InputIterator> void insert(_InputIterator __first, _InputIterator __last); + _LIBCPP_INLINE_VISIBILITY void insert(initializer_list<value_type> __il) {insert(__il.begin(), __il.end());} + _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __p) {return __table_.erase(__p);} + _LIBCPP_INLINE_VISIBILITY size_type erase(const key_type& __k) {return __table_.__erase_multi(__k);} + _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __first, const_iterator __last) {return __table_.erase(__first, __last);} + _LIBCPP_INLINE_VISIBILITY void clear() {__table_.clear();} + _LIBCPP_INLINE_VISIBILITY void swap(unordered_multiset& __u) {__table_.swap(__u.__table_);} + _LIBCPP_INLINE_VISIBILITY hasher hash_function() const {return __table_.hash_function();} + _LIBCPP_INLINE_VISIBILITY key_equal key_eq() const {return __table_.key_eq();} + _LIBCPP_INLINE_VISIBILITY iterator find(const key_type& __k) {return __table_.find(__k);} + _LIBCPP_INLINE_VISIBILITY const_iterator find(const key_type& __k) const {return __table_.find(__k);} + _LIBCPP_INLINE_VISIBILITY size_type count(const key_type& __k) const {return __table_.__count_multi(__k);} + _LIBCPP_INLINE_VISIBILITY pair<iterator, iterator> equal_range(const key_type& __k) {return __table_.__equal_range_multi(__k);} + _LIBCPP_INLINE_VISIBILITY pair<const_iterator, const_iterator> equal_range(const key_type& __k) const {return __table_.__equal_range_multi(__k);} + _LIBCPP_INLINE_VISIBILITY size_type bucket_count() const {return __table_.bucket_count();} + _LIBCPP_INLINE_VISIBILITY size_type max_bucket_count() const {return __table_.max_bucket_count();} + _LIBCPP_INLINE_VISIBILITY size_type bucket_size(size_type __n) const {return __table_.bucket_size(__n);} + _LIBCPP_INLINE_VISIBILITY size_type bucket(const key_type& __k) const {return __table_.bucket(__k);} + _LIBCPP_INLINE_VISIBILITY local_iterator begin(size_type __n) {return __table_.begin(__n);} + _LIBCPP_INLINE_VISIBILITY local_iterator end(size_type __n) {return __table_.end(__n);} + _LIBCPP_INLINE_VISIBILITY const_local_iterator begin(size_type __n) const {return __table_.cbegin(__n);} + _LIBCPP_INLINE_VISIBILITY const_local_iterator end(size_type __n) const {return __table_.cend(__n);} + _LIBCPP_INLINE_VISIBILITY const_local_iterator cbegin(size_type __n) const {return __table_.cbegin(__n);} + _LIBCPP_INLINE_VISIBILITY const_local_iterator cend(size_type __n) const {return __table_.cend(__n);} + _LIBCPP_INLINE_VISIBILITY float load_factor() const {return __table_.load_factor();} + _LIBCPP_INLINE_VISIBILITY float max_load_factor() const {return __table_.max_load_factor();} + _LIBCPP_INLINE_VISIBILITY void max_load_factor(float __mlf) {__table_.max_load_factor(__mlf);} + _LIBCPP_INLINE_VISIBILITY void rehash(size_type __n) {__table_.rehash(__n);} + _LIBCPP_INLINE_VISIBILITY void reserve(size_type __n) {__table_.reserve(__n);} }; @@ -798,7 +888,7 @@ unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset( } template <class _Value, class _Hash, class _Pred, class _Alloc> -inline +inline _LIBCPP_INLINE_VISIBILITY unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset( const allocator_type& __a) : __table_(__a) @@ -826,7 +916,7 @@ unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset( #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Value, class _Hash, class _Pred, class _Alloc> -inline +inline _LIBCPP_INLINE_VISIBILITY unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset( unordered_multiset&& __u) : __table_(_STD::move(__u.__table_)) @@ -878,7 +968,7 @@ unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset( #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Value, class _Hash, class _Pred, class _Alloc> -inline +inline _LIBCPP_INLINE_VISIBILITY unordered_multiset<_Value, _Hash, _Pred, _Alloc>& unordered_multiset<_Value, _Hash, _Pred, _Alloc>::operator=( unordered_multiset&& __u) @@ -901,7 +991,7 @@ unordered_multiset<_Value, _Hash, _Pred, _Alloc>::operator=( template <class _Value, class _Hash, class _Pred, class _Alloc> template <class _InputIterator> -inline +inline _LIBCPP_INLINE_VISIBILITY void unordered_multiset<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, _InputIterator __last) @@ -911,7 +1001,7 @@ unordered_multiset<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, } template <class _Value, class _Hash, class _Pred, class _Alloc> -inline +inline _LIBCPP_INLINE_VISIBILITY void swap(unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x, unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y) @@ -943,7 +1033,7 @@ operator==(const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x, } template <class _Value, class _Hash, class _Pred, class _Alloc> -inline +inline _LIBCPP_INLINE_VISIBILITY bool operator!=(const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x, const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y) |