tbb::internal::intrusive_list< T > Class Template Reference

Double linked list of items of type T that is derived from intrusive_list_node class. More...

`#include <intrusive_list.h>`

Inheritance diagram for tbb::internal::intrusive_list< T >:
Collaboration diagram for tbb::internal::intrusive_list< T >:

## Static Private Member Functions

static intrusive_list_node & | node (T &val)
static T & | item (intrusive_list_node *node)
static const T & | item (const intrusive_list_node *node)

## Friends

class | intrusive_list_base< intrusive_list< T >, T >

## Additional Inherited Members

Public Types inherited from tbb::internal::intrusive_list_base< intrusive_list< T >, T >
typedef iterator_impl< T > | iterator
typedef iterator_impl< const T > | const_iterator
Public Member Functions inherited from tbb::internal::intrusive_list_base< intrusive_list< T >, T >
| intrusive_list_base ()
bool | empty () const
size_t | size () const
iterator | begin ()
const_iterator | begin () const
iterator | end ()
const_iterator | end () const
void | push_front (T &val)
void | remove (T &val)
iterator | erase (iterator it)

## Detailed Description

### template<class T>
class tbb::internal::intrusive_list< T >

Double linked list of items of type T that is derived from intrusive_list_node class.

The list does not have ownership of its items. Its purpose is to avoid dynamic memory allocation when forming lists of existing objects.

The class is not thread safe.

Definition at line 224 of file intrusive_list.h.

## Member Function Documentation

## item() [1/2]

template<class T >

static const T& tbb::internal::intrusive_list< T >::item | ( | const intrusive_list_node * | node | ) |

inline static private

Definition at line 231 of file intrusive_list.h.

{ return *static_cast<const T*>(node); }
tbb::internal::intrusive_list::node
static intrusive_list_node & node(T &val)
Definition: intrusive_list.h:228

References tbb::internal::intrusive_list< T >::node().

Here is the call graph for this function:

## item() [2/2]

template<class T >

static T& tbb::internal::intrusive_list< T >::item | ( | intrusive_list_node * | node | ) |

inline static private

Definition at line 230 of file intrusive_list.h.

{ return *static_cast<T*>(node); }

References tbb::internal::intrusive_list< T >::node().

Here is the call graph for this function:

## node()

template<class T >

static intrusive_list_node& tbb::internal::intrusive_list< T >::node | ( | T & | val | ) |

inline static private

Definition at line 228 of file intrusive_list.h.

{ return val; }

Referenced by tbb::internal::intrusive_list< T >::item().

Here is the caller graph for this function:

## Friends And Related Function Documentation

## intrusive_list_base< intrusive_list< T >, T >

template<class T >

friend class intrusive_list_base< intrusive_list< T >, T >

friend

Definition at line 213 of file intrusive_list.h.

The documentation for this class was generated from the following file:

- intrusive_list.h

Copyright © 2005-2020 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.