9#ifndef SL3_CONTAINER_HPP_
10#define SL3_CONTAINER_HPP_
12#include <sl3/error.hpp>
32 using container_type = ContainerType;
33 using iterator =
typename container_type::iterator;
34 using const_iterator =
typename container_type::const_iterator;
35 using value_type =
typename container_type::value_type;
36 using reference =
typename container_type::reference;
37 using const_reference =
typename container_type::const_reference;
38 using size_type =
typename container_type::size_type;
54 std::is_nothrow_move_constructible<ContainerType>::value)
64 Container (std::initializer_list<value_type> container)
84 std::is_nothrow_move_constructible<ContainerType>::value)
97 std::is_nothrow_destructible<ContainerType>::value)
107 return std::begin (
_cont);
117 return _cont.cbegin ();
127 return std::end (
_cont);
137 return _cont.cend ();
147 return _cont.cbegin ();
157 return _cont.cend ();
169 return _cont.size ();
const_iterator begin() const
Iterator access.
Definition container.hpp:115
Container(Container &&) noexcept(std::is_nothrow_move_constructible< ContainerType >::value)=default
Move constructor.
Container(ContainerType container) noexcept(std::is_nothrow_move_constructible< ContainerType >::value)
Constructor.
Definition container.hpp:53
size_type size() const
Container size.
Definition container.hpp:167
const_reference at(size_t i) const
checked random access
Definition container.hpp:197
const_iterator end() const
Iterator access.
Definition container.hpp:135
ContainerType _cont
Container T.
Definition container.hpp:234
const_iterator cbegin() const
Iterator access.
Definition container.hpp:145
iterator end()
Iterator access.
Definition container.hpp:125
Container(std::initializer_list< value_type > container)
Constructor.
Definition container.hpp:64
Container(const Container &)=default
Copy Constructor.
Container() noexcept
Constructor.
Definition container.hpp:47
reference operator[](size_t i)
unchecked random access
Definition container.hpp:216
reference at(size_t i)
checked random access
Definition container.hpp:178
Container & operator=(const Container &)=default
Assignment.
const_iterator cend() const
Iterator access.
Definition container.hpp:155
iterator begin()
Iterator access.
Definition container.hpp:105
Namespace of libSL3.
Definition columns.hpp:18
ErrType< ErrCode::OutOfRange > ErrOutOfRange
thrown if an index op is out of range
Definition error.hpp:114