Home ⌂Doc Index ◂Up ▴
Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType > Class Template Reference
Collaboration diagram for tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >:

Public Member Functions

 iterator_impl ()
 
 iterator_impl (pointer_type pos)
 
iterator_imploperator= (const iterator_impl &other)
 
iterator_imploperator= (const T &val)
 
iterator_imploperator++ ()
 
iterator_impl operator++ (int)
 
iterator_imploperator-- ()
 
iterator_impl operator-- (int)
 
bool operator== (const iterator_impl &rhs) const
 
bool operator!= (const iterator_impl &rhs) const
 
DereferenceType & operator * () const
 
DereferenceType * operator-> () const
 

Private Types

typedef tbb::internal::conditional< tbb::internal::is_same_type< DereferenceType, T >::value, intrusive_list_node *, const intrusive_list_node * >::type pointer_type
 

Private Member Functions

 __TBB_STATIC_ASSERT ((tbb::internal::is_same_type< DereferenceType, T >::value||tbb::internal::is_same_type< DereferenceType, const T >::value), "Incorrect DereferenceType in iterator_impl")
 

Private Attributes

pointer_type my_pos
 

Detailed Description

template<class List, class T>
template<typename DereferenceType>
class tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >

Definition at line 56 of file intrusive_list.h.

Member Typedef Documentation

◆ pointer_type

template<class List, class T>
template<typename DereferenceType >
typedef tbb::internal::conditional<tbb::internal::is_same_type<DereferenceType, T>::value, intrusive_list_node*, const intrusive_list_node*>::type tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::pointer_type
private

Definition at line 62 of file intrusive_list.h.

Constructor & Destructor Documentation

◆ iterator_impl() [1/2]

template<class List, class T>
template<typename DereferenceType >
tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::iterator_impl ( )
inline

Definition at line 64 of file intrusive_list.h.

◆ iterator_impl() [2/2]

template<class List, class T>
template<typename DereferenceType >
tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::iterator_impl ( pointer_type  pos)
inline

Definition at line 66 of file intrusive_list.h.

Member Function Documentation

◆ __TBB_STATIC_ASSERT()

template<class List, class T>
template<typename DereferenceType >
tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::__TBB_STATIC_ASSERT ( (tbb::internal::is_same_type< DereferenceType, T >::value||tbb::internal::is_same_type< DereferenceType, const T >::value ,
"Incorrect DereferenceType in iterator_impl< DereferenceType >"   
)
private

◆ operator *()

template<class List, class T>
template<typename DereferenceType >
DereferenceType& tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::operator * ( ) const
inline

Definition at line 110 of file intrusive_list.h.

110  {
112  }
static T & item(intrusive_list_node *node)

References tbb::internal::intrusive_list_base< List, T >::item(), and tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::my_pos.

Here is the call graph for this function:

◆ operator!=()

template<class List, class T>
template<typename DereferenceType >
bool tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::operator!= ( const iterator_impl< DereferenceType > &  rhs) const
inline

◆ operator++() [1/2]

template<class List, class T>
template<typename DereferenceType >
iterator_impl& tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::operator++ ( )
inline

◆ operator++() [2/2]

template<class List, class T>
template<typename DereferenceType >
iterator_impl tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::operator++ ( int  )
inline

Definition at line 85 of file intrusive_list.h.

85  {
86  iterator_impl it(*this);
87  ++*this;
88  return it;
89  }

◆ operator--() [1/2]

template<class List, class T>
template<typename DereferenceType >
iterator_impl& tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::operator-- ( )
inline

◆ operator--() [2/2]

template<class List, class T>
template<typename DereferenceType >
iterator_impl tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::operator-- ( int  )
inline

Definition at line 96 of file intrusive_list.h.

96  {
97  iterator_impl it(*this);
98  --*this;
99  return it;
100  }

◆ operator->()

template<class List, class T>
template<typename DereferenceType >
DereferenceType* tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::operator-> ( ) const
inline

Definition at line 114 of file intrusive_list.h.

114  {
116  }
static T & item(intrusive_list_node *node)

References tbb::internal::intrusive_list_base< List, T >::item(), and tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::my_pos.

Here is the call graph for this function:

◆ operator=() [1/2]

template<class List, class T>
template<typename DereferenceType >
iterator_impl& tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::operator= ( const iterator_impl< DereferenceType > &  other)
inline

Definition at line 68 of file intrusive_list.h.

68  {
69  if (this != &other) {
70  my_pos = other.my_pos;
71  }
72  return *this;
73  }

References tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::my_pos.

◆ operator=() [2/2]

template<class List, class T>
template<typename DereferenceType >
iterator_impl& tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::operator= ( const T &  val)
inline

Definition at line 75 of file intrusive_list.h.

75  {
76  my_pos = &node(val);
77  return *this;
78  }
static intrusive_list_node & node(T &item)

References tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::my_pos, and tbb::internal::intrusive_list_base< List, T >::node().

Here is the call graph for this function:

◆ operator==()

template<class List, class T>
template<typename DereferenceType >
bool tbb::internal::intrusive_list_base< List, T >::iterator_impl< DereferenceType >::operator== ( const iterator_impl< DereferenceType > &  rhs) const
inline

Member Data Documentation

◆ my_pos


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

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.