ESPHome 2026.2.1
Loading...
Searching...
No Matches
esphome::StaticVector< T, N > Class Template Reference

Minimal static vector - saves memory by avoiding std::vector overhead. More...

#include <helpers.h>

Public Types

using value_type = T
 
using iterator = typename std::array<T, N>::iterator
 
using const_iterator = typename std::array<T, N>::const_iterator
 
using reverse_iterator = std::reverse_iterator<iterator>
 
using const_reverse_iterator = std::reverse_iterator<const_iterator>
 

Public Member Functions

 StaticVector ()=default
 
template<typename InputIt >
 StaticVector (InputIt first, InputIt last)
 
 StaticVector (std::initializer_list< T > init)
 
void push_back (const T &value)
 
void clear ()
 
template<typename InputIt >
void assign (InputIt first, InputIt last)
 
T & emplace_next ()
 
size_t size () const
 
bool empty () const
 
T * data ()
 
const T * data () const
 
T & operator[] (size_t i)
 
const T & operator[] (size_t i) const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
 operator std::span< T > ()
 
 operator std::span< const T > () const
 

Detailed Description

template<typename T, size_t N>
class esphome::StaticVector< T, N >

Minimal static vector - saves memory by avoiding std::vector overhead.

Definition at line 137 of file helpers.h.

Member Typedef Documentation

◆ const_iterator

template<typename T , size_t N>
using esphome::StaticVector< T, N >::const_iterator = typename std::array<T, N>::const_iterator

Definition at line 141 of file helpers.h.

◆ const_reverse_iterator

template<typename T , size_t N>
using esphome::StaticVector< T, N >::const_reverse_iterator = std::reverse_iterator<const_iterator>

Definition at line 143 of file helpers.h.

◆ iterator

template<typename T , size_t N>
using esphome::StaticVector< T, N >::iterator = typename std::array<T, N>::iterator

Definition at line 140 of file helpers.h.

◆ reverse_iterator

template<typename T , size_t N>
using esphome::StaticVector< T, N >::reverse_iterator = std::reverse_iterator<iterator>

Definition at line 142 of file helpers.h.

◆ value_type

template<typename T , size_t N>
using esphome::StaticVector< T, N >::value_type = T

Definition at line 139 of file helpers.h.

Constructor & Destructor Documentation

◆ StaticVector() [1/3]

template<typename T , size_t N>
esphome::StaticVector< T, N >::StaticVector ( )
default

◆ StaticVector() [2/3]

template<typename T , size_t N>
template<typename InputIt >
esphome::StaticVector< T, N >::StaticVector ( InputIt first,
InputIt last )
inline

Definition at line 154 of file helpers.h.

◆ StaticVector() [3/3]

template<typename T , size_t N>
esphome::StaticVector< T, N >::StaticVector ( std::initializer_list< T > init)
inline

Definition at line 161 of file helpers.h.

Member Function Documentation

◆ assign()

template<typename T , size_t N>
template<typename InputIt >
void esphome::StaticVector< T, N >::assign ( InputIt first,
InputIt last )
inline

Definition at line 180 of file helpers.h.

◆ begin() [1/2]

template<typename T , size_t N>
iterator esphome::StaticVector< T, N >::begin ( )
inline

Definition at line 208 of file helpers.h.

◆ begin() [2/2]

template<typename T , size_t N>
const_iterator esphome::StaticVector< T, N >::begin ( ) const
inline

Definition at line 210 of file helpers.h.

◆ clear()

template<typename T , size_t N>
void esphome::StaticVector< T, N >::clear ( )
inline

Definition at line 177 of file helpers.h.

◆ data() [1/2]

template<typename T , size_t N>
T * esphome::StaticVector< T, N >::data ( )
inline

Definition at line 201 of file helpers.h.

◆ data() [2/2]

template<typename T , size_t N>
const T * esphome::StaticVector< T, N >::data ( ) const
inline

Definition at line 202 of file helpers.h.

◆ emplace_next()

template<typename T , size_t N>
T & esphome::StaticVector< T, N >::emplace_next ( )
inline

Definition at line 188 of file helpers.h.

◆ empty()

template<typename T , size_t N>
bool esphome::StaticVector< T, N >::empty ( ) const
inline

Definition at line 198 of file helpers.h.

◆ end() [1/2]

template<typename T , size_t N>
iterator esphome::StaticVector< T, N >::end ( )
inline

Definition at line 209 of file helpers.h.

◆ end() [2/2]

template<typename T , size_t N>
const_iterator esphome::StaticVector< T, N >::end ( ) const
inline

Definition at line 211 of file helpers.h.

◆ operator std::span< const T >()

template<typename T , size_t N>
esphome::StaticVector< T, N >::operator std::span< const T > ( ) const
inline

Definition at line 221 of file helpers.h.

◆ operator std::span< T >()

template<typename T , size_t N>
esphome::StaticVector< T, N >::operator std::span< T > ( )
inline

Definition at line 220 of file helpers.h.

◆ operator[]() [1/2]

template<typename T , size_t N>
T & esphome::StaticVector< T, N >::operator[] ( size_t i)
inline

Definition at line 204 of file helpers.h.

◆ operator[]() [2/2]

template<typename T , size_t N>
const T & esphome::StaticVector< T, N >::operator[] ( size_t i) const
inline

Definition at line 205 of file helpers.h.

◆ push_back()

template<typename T , size_t N>
void esphome::StaticVector< T, N >::push_back ( const T & value)
inline

Definition at line 170 of file helpers.h.

◆ rbegin() [1/2]

template<typename T , size_t N>
reverse_iterator esphome::StaticVector< T, N >::rbegin ( )
inline

Definition at line 214 of file helpers.h.

◆ rbegin() [2/2]

template<typename T , size_t N>
const_reverse_iterator esphome::StaticVector< T, N >::rbegin ( ) const
inline

Definition at line 216 of file helpers.h.

◆ rend() [1/2]

template<typename T , size_t N>
reverse_iterator esphome::StaticVector< T, N >::rend ( )
inline

Definition at line 215 of file helpers.h.

◆ rend() [2/2]

template<typename T , size_t N>
const_reverse_iterator esphome::StaticVector< T, N >::rend ( ) const
inline

Definition at line 217 of file helpers.h.

◆ size()

template<typename T , size_t N>
size_t esphome::StaticVector< T, N >::size ( ) const
inline

Definition at line 197 of file helpers.h.


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