#include <bn_list.h>
template<typename Type>
ilist class
Base class of bn::
Template parameters | |
---|---|
Type | Element type. |
Can be used as a reference type for all bn::
Derived classes
-
template<typename Type, int MaxSize>class list
std::list
like container with a fixed size buffer.
Public types
- class const_iterator
- Const iterator.
- class iterator
- Non const iterator.
- using value_type = Type
- Value type alias.
- using size_type = int
- Size type alias.
- using difference_type = int
- Difference type alias.
- using reference = Type&
- Reference alias.
- using const_reference = const Type&
- Const reference alias.
- using pointer = Type*
- Pointer alias.
- using const_pointer = const Type*
- Const pointer alias.
- using reverse_iterator = bn::reverse_iterator<iterator>
- Reverse iterator alias.
-
using const_reverse_iterator = bn::reverse_iterator<const_
iterator> - Const reverse iterator alias.
Public functions
- auto operator=(const ilist& other) -> ilist&
- Copy assignment operator.
- auto operator=(ilist&& other) -> ilist& noexcept
- Move assignment operator.
-
auto size() const -> size_
type - Returns the current size.
-
auto max_size() const -> size_
type - Returns the maximum possible size.
-
auto available() const -> size_
type - Returns the remaining capacity.
- auto empty() const -> bool
- Indicates if it doesn't contain any element.
- auto full() const -> bool
- Indicates if it can't contain any more elements.
-
auto begin() const -> const_
iterator - Returns a const iterator to the beginning of the ilist.
- auto begin() -> iterator
- Returns an iterator to the beginning of the ilist.
-
auto end() const -> const_
iterator - Returns a const iterator to the end of the ilist.
- auto end() -> iterator
- Returns an iterator to the end of the ilist.
-
auto cbegin() const -> const_
iterator - Returns a const iterator to the beginning of the ilist.
-
auto cend() const -> const_
iterator - Returns a const iterator to the end of the ilist.
-
auto rbegin() const -> const_
reverse_ iterator - Returns a const reverse iterator to the end of the ilist.
-
auto rbegin() -> reverse_
iterator - Returns a reverse iterator to the end of the ilist.
-
auto rend() const -> const_
reverse_ iterator - Returns a const reverse iterator to the beginning of the ilist.
-
auto rend() -> reverse_
iterator - Returns a reverse iterator to the beginning of the ilist.
-
auto crbegin() const -> const_
reverse_ iterator - Returns a const reverse iterator to the end of the ilist.
-
auto crend() const -> const_
reverse_ iterator - Returns a const reverse iterator to the beginning of the ilist.
-
auto front() const -> const_
reference - Returns a const reference to the first element.
- auto front() -> reference
- Returns a reference to the first element.
-
auto back() const -> const_
reference - Returns a const reference to the last element.
- auto back() -> reference
- Returns a reference to the last element.
-
void push_front(const_
reference value) - Inserts a copy of a value at the beginning of the ilist.
-
void push_front(value_
type&& value) - Inserts a moved value at the beginning of the ilist.
-
template<typename... Args>auto emplace_front(Args && ... args) -> reference
- Constructs and inserts a value at the beginning of the ilist.
-
void push_back(const_
reference value) - Inserts a copy of a value at the end of the ilist.
-
void push_back(value_
type&& value) - Inserts a moved value at the end of the ilist.
-
template<typename... Args>auto emplace_back(Args && ... args) -> reference
- Constructs and inserts a value at the end of the ilist.
- void pop_front()
- Removes the first element of the ilist.
- void pop_back()
- Removes the last element of the ilist.
-
auto insert(const_
iterator position, const_ reference value) -> iterator - Inserts a copy of a value at the specified position.
-
auto insert(const_
iterator position, value_ type&& value) -> iterator - Inserts a moved value at the specified position.
-
template<typename... Args>auto emplace(const_
iterator position, Args && ... args) -> iterator - Constructs and inserts a value at the specified position.
-
auto erase(const_
iterator position) -> iterator - Erases an element.
-
auto erase(const_
iterator first, const_ iterator last) -> iterator - Erases a range of elements.
-
auto remove(const_
reference value) -> size_ type - Erases all elements that are equal to the specified value.
-
template<class Pred>auto remove_if(const Pred& pred) -> size_
type - Erases all elements that satisfy the specified predicate.
-
void assign(size_
type count, const_ reference value) - Assigns values to the ilist, removing the previous ones.
-
template<typename Iterator>void assign(const Iterator& first, const Iterator& last)
- Assigns values to the ilist, removing the previous ones.
- void clear()
- Removes all elements.
- void swap(ilist& other)
- Exchanges the contents of this ilist with those of the other one.
Friends
- void swap(ilist& a, ilist& b)
- Exchanges the contents of a ilist with those of another one.
- auto operator==(const ilist& a, const ilist& b) -> bool
- Equal operator.
- auto operator<(const ilist& a, const ilist& b) -> bool
- Less than operator.
- auto operator>(const ilist& a, const ilist& b) -> bool
- Greater than operator.
- auto operator<=(const ilist& a, const ilist& b) -> bool
- Less than or equal operator.
- auto operator>=(const ilist& a, const ilist& b) -> bool
- Greater than or equal operator.
Function documentation
template<typename Type>
void bn:: ilist<Type>:: push_front(const_ reference value)
Inserts a copy of a value at the beginning of the ilist.
Parameters | |
---|---|
value | Value to insert. |
template<typename Type>
void bn:: ilist<Type>:: push_front(value_ type&& value)
Inserts a moved value at the beginning of the ilist.
Parameters | |
---|---|
value | Value to insert. |
template<typename Type>
template<typename... Args>
reference bn:: ilist<Type>:: emplace_front(Args && ... args)
Constructs and inserts a value at the beginning of the ilist.
Parameters | |
---|---|
args | Parameters of the value to insert. |
Returns | Reference to the new value. |
template<typename Type>
void bn:: ilist<Type>:: push_back(const_ reference value)
Inserts a copy of a value at the end of the ilist.
Parameters | |
---|---|
value | Value to insert. |
template<typename Type>
void bn:: ilist<Type>:: push_back(value_ type&& value)
Inserts a moved value at the end of the ilist.
Parameters | |
---|---|
value | Value to insert. |
template<typename Type>
template<typename... Args>
reference bn:: ilist<Type>:: emplace_back(Args && ... args)
Constructs and inserts a value at the end of the ilist.
Parameters | |
---|---|
args | Parameters of the value to insert. |
Returns | Reference to the new value. |
template<typename Type>
iterator bn:: ilist<Type>:: insert(const_ iterator position,
const_ reference value)
Inserts a copy of a value at the specified position.
Parameters | |
---|---|
position | The given value is inserted before this position. |
value | Value to insert. |
Returns | Iterator pointing to the inserted value. |
template<typename Type>
iterator bn:: ilist<Type>:: insert(const_ iterator position,
value_ type&& value)
Inserts a moved value at the specified position.
Parameters | |
---|---|
position | The given value is inserted before this position. |
value | Value to insert. |
Returns | Iterator pointing to the inserted value. |
template<typename Type>
template<typename... Args>
iterator bn:: ilist<Type>:: emplace(const_ iterator position,
Args && ... args)
Constructs and inserts a value at the specified position.
Parameters | |
---|---|
position | The new value is inserted before this position. |
args | Parameters of the value to insert. |
Returns | Iterator pointing to the new value. |
template<typename Type>
iterator bn:: ilist<Type>:: erase(const_ iterator position)
Erases an element.
Parameters | |
---|---|
position | Iterator to the element to erase. |
Returns | Iterator following the erased element. |
template<typename Type>
iterator bn:: ilist<Type>:: erase(const_ iterator first,
const_ iterator last)
Erases a range of elements.
Parameters | |
---|---|
first | Iterator to the first element to erase. |
last | Iterator to the last element to erase. |
Returns | Iterator following the last erased element. |
The range includes all the elements between first and last, including the element pointed by first, but not the one pointed by last.
template<typename Type>
size_ type bn:: ilist<Type>:: remove(const_ reference value)
Erases all elements that are equal to the specified value.
Parameters | |
---|---|
value | Element to erase. |
Returns | Number of erased elements. |
template<typename Type>
void bn:: ilist<Type>:: assign(size_ type count,
const_ reference value)
Assigns values to the ilist, removing the previous ones.
Parameters | |
---|---|
count | Number of elements to insert. |
value | Value to fill new elements with. |
template<typename Type>
template<typename Iterator>
void bn:: ilist<Type>:: assign(const Iterator& first,
const Iterator& last)
Assigns values to the ilist, removing the previous ones.
Parameters | |
---|---|
first | Iterator to the first element to insert. |
last | Iterator following to the last element to insert. |
template<typename Type>
bool operator==(const ilist& a,
const ilist& b)
Equal operator.
Parameters | |
---|---|
a | First ilist to compare. |
b | Second ilist to compare. |
Returns | true if the first ilist is equal to the second one, otherwise false . |
template<typename Type>
bool operator<=(const ilist& a,
const ilist& b)
Less than or equal operator.
Parameters | |
---|---|
a | First ilist to compare. |
b | Second ilist to compare. |
Returns | true if the first ilist is lexicographically less than or equal to the second one, otherwise false . |
template<typename Type>
bool operator>=(const ilist& a,
const ilist& b)
Greater than or equal operator.
Parameters | |
---|---|
a | First ilist to compare. |
b | Second ilist to compare. |
Returns | true if the first ilist is lexicographically greater than or equal to the second one, otherwise false . |