📄 _slist.h
字号:
void pop_front() { _M_impl.pop_front(); } iterator previous(const_iterator __pos) { return iterator(_M_impl.previous(_BaseConstIte(__pos._M_node))._M_node); } const_iterator previous(const_iterator __pos) const { return const_iterator(const_cast<_Node_base*>(_M_impl.previous(_BaseConstIte(__pos._M_node))._M_node)); }#if !defined(_STLP_DONT_SUP_DFLT_PARAM) iterator insert_after(iterator __pos, const value_type& __x = _STLP_DEFAULT_CONSTRUCTED(value_type))#else iterator insert_after(iterator __pos, const value_type& __x)#endif /*_STLP_DONT_SUP_DFLT_PARAM*/ { return iterator(_M_impl.insert_after(_BaseIte(__pos._M_node), cast_traits::to_storage_type_cref(__x))._M_node); }#if defined(_STLP_DONT_SUP_DFLT_PARAM) iterator insert_after(iterator __pos) { return iterator(_M_impl.insert_after(_BaseIte(__pos._M_node))._M_node);}#endif /*_STLP_DONT_SUP_DFLT_PARAM*/ void insert_after(iterator __pos, size_type __n, const value_type& __x) { _M_impl.insert_after(_BaseIte(__pos._M_node), __n, cast_traits::to_storage_type_cref(__x)); }#if defined (_STLP_MEMBER_TEMPLATES)# if defined (_STLP_USE_ITERATOR_WRAPPER)private: template <class _Integer> void _M_insert_after_dispatch(iterator __pos, _Integer __n, _Integer __val, const __true_type&) { _M_impl.insert_after(_BaseIte(__pos._M_node), __n, __val); } template <class _InputIterator> void _M_insert_after_dispatch(iterator __pos, _InputIterator __first, _InputIterator __last, const __false_type&) { _M_impl.insert_after(_BaseIte(__pos._M_node), typename _STLP_PRIV _IteWrapper<_StorageType, _Tp, _InputIterator>::_Ite(__first), typename _STLP_PRIV _IteWrapper<_StorageType, _Tp, _InputIterator>::_Ite(__last)); }public:# endif template <class _InputIterator> void insert_after(iterator __pos, _InputIterator __first, _InputIterator __last) {# if defined (_STLP_USE_ITERATOR_WRAPPER) // Check whether it's an integral type. If so, it's not an iterator. typedef typename _IsIntegral<_InputIterator>::_Ret _Integral; _M_insert_after_dispatch(__pos, __first, __last, _Integral());# else _M_impl.insert_after(_BaseIte(__pos._M_node), __first, __last);# endif }#else /* _STLP_MEMBER_TEMPLATES */ void insert_after(iterator __pos, const_iterator __first, const_iterator __last) { _M_impl.insert_after(_BaseIte(__pos._M_node), _BaseConstIte(__first._M_node), _BaseConstIte(__last._M_node)); } void insert_after(iterator __pos, const value_type* __first, const value_type* __last) { _M_impl.insert_after(_BaseIte(__pos._M_node), cast_traits::to_storage_type_cptr(__first), cast_traits::to_storage_type_cptr(__last)); }#endif /* _STLP_MEMBER_TEMPLATES */#if !defined(_STLP_DONT_SUP_DFLT_PARAM) iterator insert(iterator __pos, const value_type& __x = _STLP_DEFAULT_CONSTRUCTED(value_type))#else iterator insert(iterator __pos, const value_type& __x)#endif /*_STLP_DONT_SUP_DFLT_PARAM*/ { return iterator(_M_impl.insert(_BaseIte(__pos._M_node), cast_traits::to_storage_type_cref(__x))._M_node); }#if defined(_STLP_DONT_SUP_DFLT_PARAM) iterator insert(iterator __pos) { return iterator(_M_impl.insert(_BaseIte(__pos._M_node))._M_node); }#endif /*_STLP_DONT_SUP_DFLT_PARAM*/ void insert(iterator __pos, size_type __n, const value_type& __x) { _M_impl.insert(_BaseIte(__pos._M_node), __n, cast_traits::to_storage_type_cref(__x)); }#if defined (_STLP_MEMBER_TEMPLATES)# if defined (_STLP_USE_ITERATOR_WRAPPER)private: template <class _Integer> void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, const __true_type&) { _M_impl.insert(_BaseIte(__pos._M_node), __n, __val); } template <class _InputIterator> void _M_insert_dispatch(iterator __pos, _InputIterator __first, _InputIterator __last, const __false_type&) { _M_impl.insert(_BaseIte(__pos._M_node), typename _STLP_PRIV _IteWrapper<_StorageType, _Tp, _InputIterator>::_Ite(__first), typename _STLP_PRIV _IteWrapper<_StorageType, _Tp, _InputIterator>::_Ite(__last)); }public:# endif template <class _InputIterator> void insert(iterator __pos, _InputIterator __first, _InputIterator __last) {# if defined (_STLP_USE_ITERATOR_WRAPPER) // Check whether it's an integral type. If so, it's not an iterator. typedef typename _IsIntegral<_InputIterator>::_Ret _Integral; _M_insert_dispatch(__pos, __first, __last, _Integral());# else _M_impl.insert(_BaseIte(__pos._M_node), __first, __last);# endif }#else /* _STLP_MEMBER_TEMPLATES */ void insert(iterator __pos, const_iterator __first, const_iterator __last) { _M_impl.insert(_BaseIte(__pos._M_node), _BaseConstIte(__first._M_node), _BaseConstIte(__last._M_node)); } void insert(iterator __pos, const value_type* __first, const value_type* __last) { _M_impl.insert(_BaseIte(__pos._M_node), cast_traits::to_storage_type_cptr(__first), cast_traits::to_storage_type_cptr(__last)); }#endif /* _STLP_MEMBER_TEMPLATES */ iterator erase_after(iterator __pos) { return iterator(_M_impl.erase_after(_BaseIte(__pos._M_node))._M_node); } iterator erase_after(iterator __before_first, iterator __last) { return iterator(_M_impl.erase_after(_BaseIte(__before_first._M_node), _BaseIte(__last._M_node))._M_node); } iterator erase(iterator __pos) { return iterator(_M_impl.erase(_BaseIte(__pos._M_node))._M_node); } iterator erase(iterator __first, iterator __last) { return iterator(_M_impl.erase(_BaseIte(__first._M_node), _BaseIte(__last._M_node))._M_node); }#if !defined(_STLP_DONT_SUP_DFLT_PARAM) void resize(size_type __new_size, const value_type& __x = _STLP_DEFAULT_CONSTRUCTED(value_type))#else void resize(size_type __new_size, const value_type& __x)#endif /*_STLP_DONT_SUP_DFLT_PARAM*/ { _M_impl.resize(__new_size, cast_traits::to_storage_type_cref(__x));}#if defined(_STLP_DONT_SUP_DFLT_PARAM) void resize(size_type __new_size) { _M_impl.resize(__new_size); }#endif /*_STLP_DONT_SUP_DFLT_PARAM*/ void clear() { _M_impl.clear(); } void splice_after(iterator __pos, _Self& __x, iterator __before_first, iterator __before_last) { _M_impl.splice_after(_BaseIte(__pos._M_node), __x._M_impl, _BaseIte(__before_first._M_node), _BaseIte(__before_last._M_node)); } void splice_after(iterator __pos, _Self& __x, iterator __prev) { _M_impl.splice_after(_BaseIte(__pos._M_node), __x._M_impl, _BaseIte(__prev._M_node)); } void splice_after(iterator __pos, _Self& __x) { _M_impl.splice_after(_BaseIte(__pos._M_node), __x._M_impl); } void splice(iterator __pos, _Self& __x) { _M_impl.splice(_BaseIte(__pos._M_node), __x._M_impl); } void splice(iterator __pos, _Self& __x, iterator __i) { _M_impl.splice(_BaseIte(__pos._M_node), __x._M_impl, _BaseIte(__i._M_node)); } void splice(iterator __pos, _Self& __x, iterator __first, iterator __last) { _M_impl.splice(_BaseIte(__pos._M_node), __x._M_impl, _BaseIte(__first._M_node), _BaseIte(__last._M_node)); } void reverse() { _M_impl.reverse(); } void remove(const value_type& __val) { _M_impl.remove(cast_traits::to_storage_type_cref(__val)); } void unique() { _M_impl.unique(); } void merge(_Self& __x) { _M_impl.merge(__x._M_impl); } void sort() {_M_impl.sort(); }#ifdef _STLP_MEMBER_TEMPLATES template <class _Predicate> void remove_if(_Predicate __pred) { _M_impl.remove_if(_STLP_PRIV _UnaryPredWrapper<_StorageType, _Tp, _Predicate>(__pred)); } template <class _BinaryPredicate> void unique(_BinaryPredicate __pred) { _M_impl.unique(_STLP_PRIV _BinaryPredWrapper<_StorageType, _Tp, _BinaryPredicate>(__pred)); } template <class _StrictWeakOrdering> void merge(_Self& __x, _StrictWeakOrdering __comp) { _M_impl.merge(__x._M_impl, _STLP_PRIV _BinaryPredWrapper<_StorageType, _Tp, _StrictWeakOrdering>(__comp)); } template <class _StrictWeakOrdering> void sort(_StrictWeakOrdering __comp) { _M_impl.sort(_STLP_PRIV _BinaryPredWrapper<_StorageType, _Tp, _StrictWeakOrdering>(__comp)); }#endif /* _STLP_MEMBER_TEMPLATES */private: _Base _M_impl;};#if defined (slist)# undef slist_STLP_MOVE_TO_STD_NAMESPACE#endif#undef SLIST_IMPL_STLP_END_NAMESPACE#endif /* _STLP_SPECIALIZED_SLIST_H */// Local Variables:// mode:C++// End:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -