WPILibC++ 2024.3.2
detail::iterator_buffer< std::back_insert_iterator< Container >, enable_if_t< is_contiguous< Container >::value, typename Container::value_type > > Class Template Referencefinal

#include </home/runner/work/allwpilib/allwpilib/wpiutil/src/main/native/thirdparty/fmtlib/include/fmt/core.h>

Inheritance diagram for detail::iterator_buffer< std::back_insert_iterator< Container >, enable_if_t< is_contiguous< Container >::value, typename Container::value_type > >:
detail::buffer< Container::value_type >

Public Member Functions

 iterator_buffer (Container &c)
 
 iterator_buffer (std::back_insert_iterator< Container > out, size_t=0)
 
auto out () -> std::back_insert_iterator< Container >
 
- Public Member Functions inherited from detail::buffer< Container::value_type >
 buffer (const buffer &)=delete
 
void operator= (const buffer &)=delete
 
FMT_INLINE auto begin () noexcept -> Container::value_type *
 
FMT_INLINE auto begin () const noexcept -> const Container::value_type *
 
FMT_INLINE auto end () noexcept -> Container::value_type *
 
FMT_INLINE auto end () const noexcept -> const Container::value_type *
 
constexpr auto size () const noexcept -> size_t
 Returns the size of this buffer. More...
 
constexpr auto capacity () const noexcept -> size_t
 Returns the capacity of this buffer. More...
 
FMT_CONSTEXPR auto data () noexcept -> Container::value_type *
 Returns a pointer to the buffer data (not null-terminated). More...
 
FMT_CONSTEXPR auto data () const noexcept -> const Container::value_type *
 
void clear ()
 Clears this buffer. More...
 
FMT_CONSTEXPR20 void try_resize (size_t count)
 
FMT_CONSTEXPR20 void try_reserve (size_t new_capacity)
 
FMT_CONSTEXPR20 void push_back (const Container::value_type &value)
 
void append (const U *begin, const U *end)
 Appends data to the end of the buffer. More...
 
FMT_CONSTEXPR auto operator[] (Idx index) -> Container::value_type &
 
FMT_CONSTEXPR auto operator[] (Idx index) const -> const Container::value_type &
 

Protected Member Functions

FMT_CONSTEXPR20 void grow (size_t capacity) override
 Increases the buffer capacity to hold at least capacity elements. More...
 
- Protected Member Functions inherited from detail::buffer< Container::value_type >
 buffer (size_t sz) noexcept
 
FMT_CONSTEXPR20 buffer (Container::value_type *p=nullptr, size_t sz=0, size_t cap=0) noexcept
 
 buffer (buffer &&)=default
 
FMT_CONSTEXPR20 ~buffer ()=default
 
FMT_CONSTEXPR void set (Container::value_type *buf_data, size_t buf_capacity) noexcept
 Sets the buffer data and capacity. More...
 
virtual FMT_CONSTEXPR20 void grow (size_t capacity)=0
 Increases the buffer capacity to hold at least capacity elements. More...
 

Additional Inherited Members

- Public Types inherited from detail::buffer< Container::value_type >
using value_type = Container::value_type
 
using const_reference = const Container::value_type &
 

Constructor & Destructor Documentation

◆ iterator_buffer() [1/2]

template<typename Container >
detail::iterator_buffer< std::back_insert_iterator< Container >, enable_if_t< is_contiguous< Container >::value, typename Container::value_type > >::iterator_buffer ( Container &  c)
inlineexplicit

◆ iterator_buffer() [2/2]

template<typename Container >
detail::iterator_buffer< std::back_insert_iterator< Container >, enable_if_t< is_contiguous< Container >::value, typename Container::value_type > >::iterator_buffer ( std::back_insert_iterator< Container >  out,
size_t  = 0 
)
inlineexplicit

Member Function Documentation

◆ grow()

template<typename Container >
FMT_CONSTEXPR20 void detail::iterator_buffer< std::back_insert_iterator< Container >, enable_if_t< is_contiguous< Container >::value, typename Container::value_type > >::grow ( size_t  capacity)
inlineoverrideprotectedvirtual

Increases the buffer capacity to hold at least capacity elements.

Implements detail::buffer< Container::value_type >.

◆ out()

template<typename Container >
auto detail::iterator_buffer< std::back_insert_iterator< Container >, enable_if_t< is_contiguous< Container >::value, typename Container::value_type > >::out ( ) -> std::back_insert_iterator<Container>
inline

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