|
template<class InputIterator > |
AZ_FORCE_INLINE | intrusive_list (const InputIterator &first, const InputIterator &last) |
|
AZ_FORCE_INLINE | intrusive_list (const this_type &rhs) |
|
AZ_FORCE_INLINE this_type & | operator= (const this_type &rhs) |
|
AZ_FORCE_INLINE | intrusive_list (this_type &&rhs) |
|
this_type & | operator= (this_type &&rhs) |
|
void | assign_rv (this_type &&rhs) |
|
void | swap (this_type &&rhs) |
|
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 reverse_iterator | rbegin () |
|
AZ_FORCE_INLINE const_reverse_iterator | rbegin () const |
|
const_reverse_iterator | crbegin () const |
|
AZ_FORCE_INLINE reverse_iterator | rend () |
|
AZ_FORCE_INLINE const_reverse_iterator | rend () const |
|
const_reverse_iterator | crend () 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_FORCE_INLINE void | pop_back () |
|
AZ_INLINE iterator | insert (iterator insertPos, const_reference value) |
|
template<class InputIterator > |
AZ_FORCE_INLINE void | insert (iterator insertPos, InputIterator first, InputIterator last) |
|
iterator | erase (const_reference value) |
|
iterator | erase (const_iterator toErase) |
|
AZ_FORCE_INLINE iterator | erase (const_iterator first, const_iterator last) |
|
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 | 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.
|
|
template<class T, class Hook>
class AZStd::intrusive_list< T, Hook >
Intrusive list is a AZStd extension container.
- It uses the intrusive_list_node contained in the provided user type T. You have 2 choices you can make your T type to either inherit from intrusive_list_node or just have intrusive_list_node as a public member. Based on which option you prefer you should use the appropriate hook type. Hook parameter should be list_base_hook (if you inherit the intrusive_list_node) or list_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.