tbb::interface5::internal::solist_iterator< Solist, Value > Class Template Reference

`#include <_concurrent_unordered_impl.h>`

Inheritance diagram for tbb::interface5::internal::solist_iterator< Solist, Value >:
Collaboration diagram for tbb::interface5::internal::solist_iterator< Solist, Value >:

## Public Types

typedef Solist::value_type | value_type
typedef Solist::difference_type | difference_type
typedef Solist::pointer | pointer
typedef Solist::reference | reference
Public Types inherited from tbb::interface5::internal::flist_iterator< Solist, Value >
typedef Solist::value_type | value_type
typedef Solist::difference_type | difference_type
typedef Solist::pointer | pointer
typedef Solist::reference | reference

## Public Member Functions

| solist_iterator ()
| solist_iterator (const solist_iterator< Solist, typename Solist::value_type > &other)
solist_iterator & | operator= (const solist_iterator< Solist, typename Solist::value_type > &other)
reference | operator* () const
pointer | operator-> () const
solist_iterator & | operator++ ()
solist_iterator | operator++ (int)
Public Member Functions inherited from tbb::interface5::internal::flist_iterator< Solist, Value >
| flist_iterator ()
| flist_iterator (const flist_iterator< Solist, typename Solist::value_type > &other)
flist_iterator & | operator= (const flist_iterator< Solist, typename Solist::value_type > &other)
reference | operator* () const
pointer | operator-> () const
flist_iterator & | operator++ ()
flist_iterator | operator++ (int)

## Private Types

typedef flist_iterator< Solist, Value > | base_type
typedef Solist::nodeptr_t | nodeptr_t

## Private Member Functions

| solist_iterator (nodeptr_t pnode, const Solist *plist)
nodeptr_t | get_node_ptr () const

## Private Attributes

const Solist * | my_list_ptr

## Friends

template<typename T , typename Allocator >
class | split_ordered_list
template<class M , typename V >
class | solist_iterator
template<typename Traits >
class | concurrent_unordered_base
template<typename M , typename T , typename U >
bool | operator== (const solist_iterator< M, T > &i, const solist_iterator< M, U > &j)
template<typename M , typename T , typename U >
bool | operator!= (const solist_iterator< M, T > &i, const solist_iterator< M, U > &j)

## Additional Inherited Members

Protected Member Functions inherited from tbb::interface5::internal::flist_iterator< Solist, Value >
| flist_iterator (nodeptr_t pnode)
nodeptr_t | get_node_ptr () const
Protected Attributes inherited from tbb::interface5::internal::flist_iterator< Solist, Value >
nodeptr_t | my_node_ptr

## Detailed Description

### template<class Solist, typename Value>
class tbb::interface5::internal::solist_iterator< Solist, Value >

Definition at line 129 of file _concurrent_unordered_impl.h.

## Member Typedef Documentation

## base_type

template<class Solist , typename Value >

typedef flist_iterator<Solist, Value> tbb::interface5::internal::solist_iterator< Solist, Value >::base_type

private

Definition at line 131 of file _concurrent_unordered_impl.h.

## difference_type

template<class Solist , typename Value >

typedef Solist::difference_type tbb::interface5::internal::solist_iterator< Solist, Value >::difference_type

Definition at line 150 of file _concurrent_unordered_impl.h.

## nodeptr_t

template<class Solist , typename Value >

typedef Solist::nodeptr_t tbb::interface5::internal::solist_iterator< Solist, Value >::nodeptr_t

private

Definition at line 132 of file _concurrent_unordered_impl.h.

## pointer

template<class Solist , typename Value >

typedef Solist::pointer tbb::interface5::internal::solist_iterator< Solist, Value >::pointer

Definition at line 151 of file _concurrent_unordered_impl.h.

## reference

template<class Solist , typename Value >

typedef Solist::reference tbb::interface5::internal::solist_iterator< Solist, Value >::reference

Definition at line 152 of file _concurrent_unordered_impl.h.

## value_type

template<class Solist , typename Value >

typedef Solist::value_type tbb::interface5::internal::solist_iterator< Solist, Value >::value_type

Definition at line 149 of file _concurrent_unordered_impl.h.

## Constructor & Destructor Documentation

## solist_iterator() [1/3]

template<class Solist , typename Value >

tbb::interface5::internal::solist_iterator< Solist, Value >::solist_iterator | ( | nodeptr_t | pnode,
|  | const Solist * | plist
| ) |  |

inline private

Definition at line 146 of file _concurrent_unordered_impl.h.

: base_type(pnode), my_list_ptr(plist) {}
tbb::interface5::internal::solist_iterator::my_list_ptr
const Solist * my_list_ptr
Definition: _concurrent_unordered_impl.h:145
tbb::interface5::internal::solist_iterator::base_type
flist_iterator< Solist, Value > base_type
Definition: _concurrent_unordered_impl.h:131

## solist_iterator() [2/3]

template<class Solist , typename Value >

tbb::interface5::internal::solist_iterator< Solist, Value >::solist_iterator | ( |  | ) |

inline

Definition at line 154 of file _concurrent_unordered_impl.h.

{}

## solist_iterator() [3/3]

template<class Solist , typename Value >

tbb::interface5::internal::solist_iterator< Solist, Value >::solist_iterator | ( | const solist_iterator< Solist, typename Solist::value_type > & | other | ) |

inline

Definition at line 155 of file _concurrent_unordered_impl.h.

: base_type(other), my_list_ptr(other.my_list_ptr) {}

## Member Function Documentation

## get_node_ptr()

template<class Solist , typename Value >

nodeptr_t tbb::interface5::internal::flist_iterator< Solist, Value >::get_node_ptr

inline private

Definition at line 108 of file _concurrent_unordered_impl.h.

{ return my_node_ptr; }
tbb::interface5::internal::flist_iterator::my_node_ptr
nodeptr_t my_node_ptr
Definition: _concurrent_unordered_impl.h:110

Referenced by tbb::interface5::internal::concurrent_unordered_base< Traits >::internal_extract(), tbb::interface5::internal::solist_iterator< Solist, Value >::operator++(), and tbb::interface5::internal::solist_iterator< Solist, Value >::operator=().

Here is the caller graph for this function:

## operator*()

template<class Solist , typename Value >

reference tbb::interface5::internal::solist_iterator< Solist, Value >::operator* | ( |  | ) | const

inline

Definition at line 164 of file _concurrent_unordered_impl.h.

{
return this->base_type::operator*();
}
tbb::interface5::internal::flist_iterator::operator*
reference operator*() const
Definition: _concurrent_unordered_impl.h:92

References tbb::interface5::internal::flist_iterator< Solist, Value >::operator*().

Here is the call graph for this function:

## operator++() [1/2]

template<class Solist , typename Value >

solist_iterator& tbb::interface5::internal::solist_iterator< Solist, Value >::operator++ | ( |  | ) |

inline

Definition at line 172 of file _concurrent_unordered_impl.h.

{
do ++(*(base_type *)this);
while (get_node_ptr() != NULL && get_node_ptr()->is_dummy());
return (*this);
}
tbb::interface5::internal::solist_iterator::get_node_ptr
nodeptr_t get_node_ptr() const
Definition: _concurrent_unordered_impl.h:108

References tbb::interface5::internal::solist_iterator< Solist, Value >::get_node_ptr().

Here is the call graph for this function:

## operator++() [2/2]

template<class Solist , typename Value >

solist_iterator tbb::interface5::internal::solist_iterator< Solist, Value >::operator++ | ( | int |  | ) |

inline

Definition at line 179 of file _concurrent_unordered_impl.h.

{
solist_iterator tmp = *this;
do ++*this;
while (get_node_ptr() != NULL && get_node_ptr()->is_dummy());
return (tmp);
}
tbb::interface5::internal::solist_iterator::solist_iterator
friend class solist_iterator
Definition: _concurrent_unordered_impl.h:137

References tbb::interface5::internal::solist_iterator< Solist, Value >::get_node_ptr().

Here is the call graph for this function:

## operator->()

template<class Solist , typename Value >

pointer tbb::interface5::internal::solist_iterator< Solist, Value >::operator-> | ( |  | ) | const

inline

Definition at line 168 of file _concurrent_unordered_impl.h.

{
return (&**this);
}

## operator=()

template<class Solist , typename Value >

solist_iterator& tbb::interface5::internal::solist_iterator< Solist, Value >::operator= | ( | const solist_iterator< Solist, typename Solist::value_type > & | other | ) |

inline

Definition at line 158 of file _concurrent_unordered_impl.h.

{
base_type::my_node_ptr = other.get_node_ptr();
my_list_ptr = other.my_list_ptr;
return *this;
}

References tbb::interface5::internal::solist_iterator< Solist, Value >::get_node_ptr(), tbb::interface5::internal::solist_iterator< Solist, Value >::my_list_ptr, and tbb::interface5::internal::flist_iterator< Solist, Value >::my_node_ptr.

Here is the call graph for this function:

## Friends And Related Function Documentation

## concurrent_unordered_base

template<class Solist , typename Value >
template<typename Traits >

friend class concurrent_unordered_base

friend

Definition at line 139 of file _concurrent_unordered_impl.h.

## operator!=

template<class Solist , typename Value >
template<typename M , typename T , typename U >

bool operator!= | ( | const solist_iterator< M, T > & | i,
|  | const solist_iterator< M, U > & | j
| ) |  |

friend

## operator==

template<class Solist , typename Value >
template<typename M , typename T , typename U >

bool operator== | ( | const solist_iterator< M, T > & | i,
|  | const solist_iterator< M, U > & | j
| ) |  |

friend

## solist_iterator

template<class Solist , typename Value >
template<class M , typename V >

friend class solist_iterator

friend

Definition at line 137 of file _concurrent_unordered_impl.h.

## split_ordered_list

template<class Solist , typename Value >
template<typename T , typename Allocator >

friend class split_ordered_list

friend

Definition at line 135 of file _concurrent_unordered_impl.h.

## Member Data Documentation

## my_list_ptr

template<class Solist , typename Value >

const Solist* tbb::interface5::internal::solist_iterator< Solist, Value >::my_list_ptr

private

Definition at line 145 of file _concurrent_unordered_impl.h.

Referenced by tbb::interface5::internal::split_ordered_list< T, Allocator >::get_iterator(), tbb::interface5::internal::operator!=(), tbb::interface5::internal::solist_iterator< Solist, Value >::operator=(), and tbb::interface5::internal::operator==().

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

- _concurrent_unordered_impl.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.