Skip to content

Class hal::static_list

template <class Object class Object>

ClassList > hal > static_list

static_list is a non-owning non-allocating doubly linked list container with O(1) memory utilization.More...

  • #include <static_list.hpp>

Classes

Type Name
class item
Item/node within the static linked list.
class item_iterator
Iterator for the static list.

Public Types

Type Name
typedef const item_iterator const_iterator
typedef const value_type * const_pointer
typedef const Object & const_reference
typedef std::ptrdiff_t difference_type
typedef item_iterator iterator
typedef value_type * pointer
typedef Object & reference
typedef std::size_t size_type
typedef Object value_type

Public Functions

Type Name
constexpr auto begin ()
constexpr auto begin () const
constexpr auto cbegin () const
constexpr auto cend () const
constexpr bool empty ()
constexpr auto end ()
constexpr auto end () const
constexpr static_list & operator= (static_list & p_other) = delete
constexpr static_list & operator= (static_list && p_other)
constexpr item push_back ()
Add default constructed item to the end of the list.
constexpr item push_back (const Object & p_value)
Append item to the end of the static list.
constexpr item push_back (Object && p_value)
Append item to the end of the static list.
constexpr std::size_t size () const
constexpr static_list ()
constexpr static_list (static_list & p_other) = delete
constexpr static_list (static_list && p_other)
~static_list ()

Detailed Description

Items in the list cannot be destroyed by

Template parameters:

  • Object - The type of the elements. Object must be "MoveAssignable" and "MoveConstructible".

Public Types Documentation

typedef const_iterator

using hal::static_list< Object >::const_iterator =  const item_iterator;

typedef const_pointer

using hal::static_list< Object >::const_pointer =  const value_type*;

typedef const_reference

using hal::static_list< Object >::const_reference =  const Object&;

typedef difference_type

using hal::static_list< Object >::difference_type =  std::ptrdiff_t;

typedef iterator

using hal::static_list< Object >::iterator =  item_iterator;

typedef pointer

using hal::static_list< Object >::pointer =  value_type*;

typedef reference

using hal::static_list< Object >::reference =  Object&;

typedef size_type

using hal::static_list< Object >::size_type =  std::size_t;

typedef value_type

using hal::static_list< Object >::value_type =  Object;

Public Functions Documentation

function begin [1/2]

inline constexpr auto hal::static_list::begin () 

function begin [2/2]

inline constexpr auto hal::static_list::begin () const

function cbegin

inline constexpr auto hal::static_list::cbegin () const

function cend

inline constexpr auto hal::static_list::cend () const

function empty

inline constexpr bool hal::static_list::empty () 

function end [1/2]

inline constexpr auto hal::static_list::end () 

function end [2/2]

inline constexpr auto hal::static_list::end () const

function operator=

constexpr static_list & hal::static_list::operator= (
    static_list & p_other
) = delete

function operator=

inline constexpr static_list & hal::static_list::operator= (
    static_list && p_other
) 

function push_back [1/3]

Add default constructed item to the end of the list.

inline constexpr item hal::static_list::push_back () 

Only works for Object's that support default construction.

Returns:

constexpr item - item with default constructed value

function push_back [2/3]

Append item to the end of the static list.

inline constexpr item hal::static_list::push_back (
    const Object & p_value
) 

Parameters:

  • p_value - value of node

Returns:

constexpr item - item with constructed value based on the input

function push_back [3/3]

Append item to the end of the static list.

inline constexpr item hal::static_list::push_back (
    Object && p_value
) 

Parameters:

  • p_value - value of node

Returns:

constexpr item - item with constructed value based on the input

function size

inline constexpr std::size_t hal::static_list::size () const

function static_list [1/3]

inline constexpr hal::static_list::static_list () 

function static_list [2/3]

constexpr hal::static_list::static_list (
    static_list & p_other
) = delete

function static_list [3/3]

inline constexpr hal::static_list::static_list (
    static_list && p_other
) 

function ~static_list

inline hal::static_list::~static_list () 

The documentation for this class was generated from the following file libraries/include/libhal-util/static_list.hpp