|
template<class InputIterator > |
AZ_FORCE_INLINE | intrusive_slist (const InputIterator &first, const InputIterator &last) |
|
template<class InputIterator > |
AZ_FORCE_INLINE void | assign (const InputIterator &first, const InputIterator &last) |
|
AZ_FORCE_INLINE size_type | size () const |
|
AZ_FORCE_INLINE size_type | max_size () const |
|
AZ_FORCE_INLINE bool | empty () const |
|
AZ_FORCE_INLINE iterator | begin () |
|
AZ_FORCE_INLINE const_iterator | begin () const |
|
AZ_FORCE_INLINE iterator | end () |
|
AZ_FORCE_INLINE const_iterator | end () const |
|
AZ_FORCE_INLINE iterator | before_begin () |
|
AZ_FORCE_INLINE const_iterator | before_begin () const |
|
AZ_FORCE_INLINE iterator | previous (iterator iter) |
|
AZ_FORCE_INLINE const_iterator | previous (const_iterator iter) |
|
AZ_FORCE_INLINE iterator | last () |
|
AZ_FORCE_INLINE const_iterator | last () const |
|
AZ_FORCE_INLINE reference | front () |
|
AZ_FORCE_INLINE const_reference | front () const |
|
AZ_FORCE_INLINE reference | back () |
|
AZ_FORCE_INLINE const_reference | back () const |
|
AZ_FORCE_INLINE void | push_front (const_reference value) |
|
AZ_FORCE_INLINE void | pop_front () |
|
AZ_FORCE_INLINE void | push_back (const_reference value) |
|
AZ_INLINE iterator | insert (iterator insertPos, const_reference value) |
|
template<class InputIterator > |
AZ_FORCE_INLINE void | insert (iterator insertPos, InputIterator first, InputIterator last) |
|
template<class InputIterator > |
AZ_FORCE_INLINE void | insert_after (iterator insertPos, InputIterator first, InputIterator last) |
|
AZ_INLINE iterator | insert_after (iterator insertPos, const_reference value) |
|
iterator | erase_after (const_reference value) |
|
iterator | erase_after (iterator toEraseNext) |
|
iterator | erase_after (iterator prevFirst, iterator last) |
|
AZ_FORCE_INLINE iterator | erase (const_reference value) |
|
AZ_FORCE_INLINE iterator | erase (const_iterator toErase) |
|
AZ_FORCE_INLINE iterator | erase (const_iterator first, const_iterator last) |
|
AZ_FORCE_INLINE void | clear () |
|
void | swap (this_type &rhs) |
|
void | splice (iterator splicePos, this_type &rhs) |
|
void | splice (iterator splicePos, this_type &rhs, iterator first) |
|
void | splice (iterator splicePos, this_type &rhs, iterator first, iterator last) |
|
void | splice_after (iterator splicePos, this_type &rhs) |
|
void | splice_after (iterator splicePos, this_type &rhs, iterator first) |
|
void | splice_after (iterator splicePos, this_type &rhs, iterator first, iterator last) |
|
void | remove (const_reference value) |
|
template<class Predicate > |
void | remove_if (Predicate pred) |
|
void | unique () |
|
template<class BinaryPredicate > |
void | unique (BinaryPredicate compare) |
|
AZ_FORCE_INLINE void | merge (this_type &rhs) |
|
template<class Compare > |
void | merge (this_type &rhs, Compare compare) |
|
AZ_FORCE_INLINE void | sort () |
|
template<class Compare > |
void | sort (Compare comp) |
|
void | reverse () |
|
bool | validate () const |
|
int | validate_iterator (const const_iterator &iter) const |
|
int | validate_iterator (const iterator &iter) const |
|
void | leak_and_reset () |
| Reset the container without going to unhook any elements.
|
|
|
AZ_FORCE_INLINE | intrusive_slist (const this_type &rhs) |
|
AZ_FORCE_INLINE this_type & | operator= (const this_type &rhs) |
|
node_ptr_type | previous (node_ptr_type iNode) |
|
template<class InputIterator > |
AZ_FORCE_INLINE void | insert_after_iter (iterator insertPos, const InputIterator &first, const InputIterator &last, const true_type &) |
|
template<class InputIterator > |
AZ_FORCE_INLINE void | insert_after_iter (iterator insertPos, const InputIterator &first, const InputIterator &last, const false_type &) |
|
node_ptr_type | get_head () |
|
template<class T, class Hook>
class AZStd::intrusive_slist< T, Hook >
Intrusive forward_list is a AZStd extension container.
- It uses the intrusive_slist_node contained in the provided user type T. You have 2 choices you can make your T type to either inherit from intrusive_slist_node or just have intrusive_slist_node as a public member. Based on which option you prefer you should use the appropriate hook type. Hook parameter should be slist_base_hook (if you inherit the intrusive_slist_node) or slist_member_hook if you have it as a public member. Intrusive list never allocate any memory, destroy or create any objects. Just used the provided nodes to store it's information. Generally speaking intrusive containers are better for the cache. You can see examples of all that AZStdExamples.