Jlm
Classes | Public Types | Public Member Functions | Private Attributes | List of all members
jlm::util::IntrusiveList< ElementType, Accessor > Class Template Reference

#include <intrusive-list.hpp>

Classes

class  ConstIterator
 
class  Iterator
 

Public Types

typedef ElementType value_type
 
typedef size_t size_type
 

Public Member Functions

constexpr IntrusiveList () noexcept
 
 IntrusiveList (const IntrusiveList &other)=delete
 
void operator= (const IntrusiveList &other)=delete
 
 IntrusiveList (IntrusiveList &&other) noexcept
 
void clear () noexcept
 
void swap (IntrusiveList &other) noexcept
 
void push_back (ElementType *element) noexcept
 
void push_front (ElementType *element) noexcept
 
Iterator insert (Iterator i, ElementType *element) noexcept
 
void erase (ElementType *element) noexcept
 
Iterator erase (Iterator i) noexcept
 
void erase (Iterator begin, Iterator end) noexcept
 
void splice (Iterator position, IntrusiveList &other) noexcept
 
void splice (Iterator position, IntrusiveList &other, Iterator i) noexcept
 
void splice (Iterator position, IntrusiveList &other, Iterator begin, Iterator end) noexcept
 
size_type size () const noexcept
 
bool empty () const noexcept
 
Iterator begin () noexcept
 
Iterator end () noexcept
 
ConstIterator cbegin () const noexcept
 
ConstIterator cend () const noexcept
 
ConstIterator begin () const noexcept
 
ConstIterator end () const noexcept
 
Iterator make_element_iterator (ElementType *element) const noexcept
 
ConstIterator make_element_iterator (const ElementType *element) const noexcept
 
ElementType * first () const noexcept
 
ElementType * last () const noexcept
 

Private Attributes

ElementType * first_
 
ElementType * last_
 
Accessor accessor_
 

Detailed Description

template<typename ElementType, typename Accessor>
class jlm::util::IntrusiveList< ElementType, Accessor >

Definition at line 89 of file intrusive-list.hpp.

Member Typedef Documentation

◆ size_type

template<typename ElementType , typename Accessor >
typedef size_t jlm::util::IntrusiveList< ElementType, Accessor >::size_type

Definition at line 291 of file intrusive-list.hpp.

◆ value_type

template<typename ElementType , typename Accessor >
typedef ElementType jlm::util::IntrusiveList< ElementType, Accessor >::value_type

Definition at line 290 of file intrusive-list.hpp.

Constructor & Destructor Documentation

◆ IntrusiveList() [1/3]

template<typename ElementType , typename Accessor >
constexpr jlm::util::IntrusiveList< ElementType, Accessor >::IntrusiveList ( )
inlineconstexprnoexcept

Definition at line 293 of file intrusive-list.hpp.

◆ IntrusiveList() [2/3]

template<typename ElementType , typename Accessor >
jlm::util::IntrusiveList< ElementType, Accessor >::IntrusiveList ( const IntrusiveList< ElementType, Accessor > &  other)
delete

◆ IntrusiveList() [3/3]

template<typename ElementType , typename Accessor >
jlm::util::IntrusiveList< ElementType, Accessor >::IntrusiveList ( IntrusiveList< ElementType, Accessor > &&  other)
inlinenoexcept

Definition at line 303 of file intrusive-list.hpp.

Member Function Documentation

◆ begin() [1/2]

template<typename ElementType , typename Accessor >
ConstIterator jlm::util::IntrusiveList< ElementType, Accessor >::begin ( ) const
inlinenoexcept

Definition at line 534 of file intrusive-list.hpp.

◆ begin() [2/2]

template<typename ElementType , typename Accessor >
Iterator jlm::util::IntrusiveList< ElementType, Accessor >::begin ( )
inlinenoexcept

Definition at line 510 of file intrusive-list.hpp.

◆ cbegin()

template<typename ElementType , typename Accessor >
ConstIterator jlm::util::IntrusiveList< ElementType, Accessor >::cbegin ( ) const
inlinenoexcept

Definition at line 522 of file intrusive-list.hpp.

◆ cend()

template<typename ElementType , typename Accessor >
ConstIterator jlm::util::IntrusiveList< ElementType, Accessor >::cend ( ) const
inlinenoexcept

Definition at line 528 of file intrusive-list.hpp.

◆ clear()

template<typename ElementType , typename Accessor >
void jlm::util::IntrusiveList< ElementType, Accessor >::clear ( )
inlinenoexcept

Definition at line 310 of file intrusive-list.hpp.

◆ empty()

template<typename ElementType , typename Accessor >
bool jlm::util::IntrusiveList< ElementType, Accessor >::empty ( ) const
inlinenoexcept

Definition at line 504 of file intrusive-list.hpp.

◆ end() [1/2]

template<typename ElementType , typename Accessor >
ConstIterator jlm::util::IntrusiveList< ElementType, Accessor >::end ( ) const
inlinenoexcept

Definition at line 540 of file intrusive-list.hpp.

◆ end() [2/2]

template<typename ElementType , typename Accessor >
Iterator jlm::util::IntrusiveList< ElementType, Accessor >::end ( )
inlinenoexcept

Definition at line 516 of file intrusive-list.hpp.

◆ erase() [1/3]

template<typename ElementType , typename Accessor >
void jlm::util::IntrusiveList< ElementType, Accessor >::erase ( ElementType *  element)
inlinenoexcept

Definition at line 382 of file intrusive-list.hpp.

◆ erase() [2/3]

template<typename ElementType , typename Accessor >
void jlm::util::IntrusiveList< ElementType, Accessor >::erase ( Iterator  begin,
Iterator  end 
)
inlinenoexcept

Definition at line 414 of file intrusive-list.hpp.

◆ erase() [3/3]

template<typename ElementType , typename Accessor >
Iterator jlm::util::IntrusiveList< ElementType, Accessor >::erase ( Iterator  i)
inlinenoexcept

Definition at line 405 of file intrusive-list.hpp.

◆ first()

template<typename ElementType , typename Accessor >
ElementType* jlm::util::IntrusiveList< ElementType, Accessor >::first ( ) const
inlinenoexcept

Definition at line 560 of file intrusive-list.hpp.

◆ insert()

template<typename ElementType , typename Accessor >
Iterator jlm::util::IntrusiveList< ElementType, Accessor >::insert ( Iterator  i,
ElementType *  element 
)
inlinenoexcept

Definition at line 356 of file intrusive-list.hpp.

◆ last()

template<typename ElementType , typename Accessor >
ElementType* jlm::util::IntrusiveList< ElementType, Accessor >::last ( ) const
inlinenoexcept

Definition at line 566 of file intrusive-list.hpp.

◆ make_element_iterator() [1/2]

template<typename ElementType , typename Accessor >
ConstIterator jlm::util::IntrusiveList< ElementType, Accessor >::make_element_iterator ( const ElementType *  element) const
inlinenoexcept

Definition at line 554 of file intrusive-list.hpp.

◆ make_element_iterator() [2/2]

template<typename ElementType , typename Accessor >
Iterator jlm::util::IntrusiveList< ElementType, Accessor >::make_element_iterator ( ElementType *  element) const
inlinenoexcept

Definition at line 547 of file intrusive-list.hpp.

◆ operator=()

template<typename ElementType , typename Accessor >
void jlm::util::IntrusiveList< ElementType, Accessor >::operator= ( const IntrusiveList< ElementType, Accessor > &  other)
delete

◆ push_back()

template<typename ElementType , typename Accessor >
void jlm::util::IntrusiveList< ElementType, Accessor >::push_back ( ElementType *  element)
inlinenoexcept

Definition at line 324 of file intrusive-list.hpp.

◆ push_front()

template<typename ElementType , typename Accessor >
void jlm::util::IntrusiveList< ElementType, Accessor >::push_front ( ElementType *  element)
inlinenoexcept

Definition at line 340 of file intrusive-list.hpp.

◆ size()

template<typename ElementType , typename Accessor >
size_type jlm::util::IntrusiveList< ElementType, Accessor >::size ( ) const
inlinenoexcept

Definition at line 493 of file intrusive-list.hpp.

◆ splice() [1/3]

template<typename ElementType , typename Accessor >
void jlm::util::IntrusiveList< ElementType, Accessor >::splice ( Iterator  position,
IntrusiveList< ElementType, Accessor > &  other 
)
inlinenoexcept

Definition at line 425 of file intrusive-list.hpp.

◆ splice() [2/3]

template<typename ElementType , typename Accessor >
void jlm::util::IntrusiveList< ElementType, Accessor >::splice ( Iterator  position,
IntrusiveList< ElementType, Accessor > &  other,
Iterator  begin,
Iterator  end 
)
inlinenoexcept

Definition at line 439 of file intrusive-list.hpp.

◆ splice() [3/3]

template<typename ElementType , typename Accessor >
void jlm::util::IntrusiveList< ElementType, Accessor >::splice ( Iterator  position,
IntrusiveList< ElementType, Accessor > &  other,
Iterator  i 
)
inlinenoexcept

Definition at line 431 of file intrusive-list.hpp.

◆ swap()

template<typename ElementType , typename Accessor >
void jlm::util::IntrusiveList< ElementType, Accessor >::swap ( IntrusiveList< ElementType, Accessor > &  other)
inlinenoexcept

Definition at line 317 of file intrusive-list.hpp.

Member Data Documentation

◆ accessor_

template<typename ElementType , typename Accessor >
Accessor jlm::util::IntrusiveList< ElementType, Accessor >::accessor_
private

Definition at line 575 of file intrusive-list.hpp.

◆ first_

template<typename ElementType , typename Accessor >
ElementType* jlm::util::IntrusiveList< ElementType, Accessor >::first_
private

Definition at line 572 of file intrusive-list.hpp.

◆ last_

template<typename ElementType , typename Accessor >
ElementType* jlm::util::IntrusiveList< ElementType, Accessor >::last_
private

Definition at line 573 of file intrusive-list.hpp.


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