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

#include <intrusive-list.hpp>

Public Types

typedef internal_list_type::ConstIterator ConstIterator
 
typedef internal_list_type::Iterator Iterator
 
typedef internal_list_type::value_type value_type
 
typedef internal_list_type::size_type size_type
 

Public Member Functions

 ~OwnerIntrusiveList () noexcept
 
 OwnerIntrusiveList ()
 
 OwnerIntrusiveList (const OwnerIntrusiveList &other)=delete
 
void operator= (const OwnerIntrusiveList &other)=delete
 
 OwnerIntrusiveList (OwnerIntrusiveList &&other) noexcept
 
void clear () noexcept
 
void swap (OwnerIntrusiveList &other) noexcept
 
void push_back (std::unique_ptr< ElementType > element) noexcept
 
void push_front (std::unique_ptr< ElementType > element) noexcept
 
Iterator insert (Iterator i, std::unique_ptr< ElementType > element) noexcept
 
std::unique_ptr< ElementType > unlink (Iterator i) noexcept
 
void erase (ElementType *element) noexcept
 
void erase (Iterator i) noexcept
 
void erase (Iterator begin, Iterator end) noexcept
 
void splice (Iterator position, OwnerIntrusiveList &other) noexcept
 
void splice (Iterator position, OwnerIntrusiveList &other, Iterator i) noexcept
 
void splice (Iterator position, OwnerIntrusiveList &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
 

Private Types

typedef IntrusiveList< ElementType, Accessor > internal_list_type
 

Private Attributes

internal_list_type internal_list_
 

Detailed Description

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

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

Member Typedef Documentation

◆ ConstIterator

template<typename ElementType , typename Accessor >
typedef internal_list_type::ConstIterator jlm::util::OwnerIntrusiveList< ElementType, Accessor >::ConstIterator

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

◆ internal_list_type

template<typename ElementType , typename Accessor >
typedef IntrusiveList<ElementType, Accessor> jlm::util::OwnerIntrusiveList< ElementType, Accessor >::internal_list_type
private

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

◆ Iterator

template<typename ElementType , typename Accessor >
typedef internal_list_type::Iterator jlm::util::OwnerIntrusiveList< ElementType, Accessor >::Iterator

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

◆ size_type

template<typename ElementType , typename Accessor >
typedef internal_list_type::size_type jlm::util::OwnerIntrusiveList< ElementType, Accessor >::size_type

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

◆ value_type

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

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

Constructor & Destructor Documentation

◆ ~OwnerIntrusiveList()

template<typename ElementType , typename Accessor >
jlm::util::OwnerIntrusiveList< ElementType, Accessor >::~OwnerIntrusiveList ( )
inlinenoexcept

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

◆ OwnerIntrusiveList() [1/3]

template<typename ElementType , typename Accessor >
jlm::util::OwnerIntrusiveList< ElementType, Accessor >::OwnerIntrusiveList ( )
inline

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

◆ OwnerIntrusiveList() [2/3]

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

◆ OwnerIntrusiveList() [3/3]

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

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

Member Function Documentation

◆ begin() [1/2]

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

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

◆ begin() [2/2]

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

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

◆ cbegin()

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

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

◆ cend()

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

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

◆ clear()

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

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

◆ empty()

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

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

◆ end() [1/2]

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

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

◆ end() [2/2]

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

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

◆ erase() [1/3]

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

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

◆ erase() [2/3]

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

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

◆ erase() [3/3]

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

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

◆ insert()

template<typename ElementType , typename Accessor >
Iterator jlm::util::OwnerIntrusiveList< ElementType, Accessor >::insert ( Iterator  i,
std::unique_ptr< ElementType >  element 
)
inlinenoexcept

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

◆ make_element_iterator() [1/2]

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

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

◆ make_element_iterator() [2/2]

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

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

◆ operator=()

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

◆ push_back()

template<typename ElementType , typename Accessor >
void jlm::util::OwnerIntrusiveList< ElementType, Accessor >::push_back ( std::unique_ptr< ElementType >  element)
inlinenoexcept

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

◆ push_front()

template<typename ElementType , typename Accessor >
void jlm::util::OwnerIntrusiveList< ElementType, Accessor >::push_front ( std::unique_ptr< ElementType >  element)
inlinenoexcept

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

◆ size()

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

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

◆ splice() [1/3]

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

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

◆ splice() [2/3]

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

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

◆ splice() [3/3]

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

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

◆ swap()

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

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

◆ unlink()

template<typename ElementType , typename Accessor >
std::unique_ptr<ElementType> jlm::util::OwnerIntrusiveList< ElementType, Accessor >::unlink ( Iterator  i)
inlinenoexcept

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

Member Data Documentation

◆ internal_list_

template<typename ElementType , typename Accessor >
internal_list_type jlm::util::OwnerIntrusiveList< ElementType, Accessor >::internal_list_
private

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


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