roo_io
API Documentation for roo_io
Loading...
Searching...
No Matches
roo_io::MemoryOutputIterator Class Reference

Bounded output iterator writing from given address up to end. More...

#include <memory_output_iterator.h>

Public Member Functions

 MemoryOutputIterator (byte *ptr, const byte *end)
 Creates bounded iterator over [ptr, end).
 
template<size_t N>
 MemoryOutputIterator (byte buf[N])
 Creates bounded iterator over fixed array.
 
void write (byte v)
 Writes one byte.
 
size_t write (const byte *buf, size_t count)
 Writes up to count bytes.
 
Status status () const
 Returns current status.
 
const byteptr () const
 Returns current output pointer.
 
void flush ()
 Flushes output (no-op).
 

Detailed Description

Bounded output iterator writing from given address up to end.

Writing past end is rejected and status becomes kNoSpaceLeftOnDevice.

Definition at line 56 of file memory_output_iterator.h.

Constructor & Destructor Documentation

◆ MemoryOutputIterator() [1/2]

roo_io::MemoryOutputIterator::MemoryOutputIterator ( byte ptr,
const byte end 
)
inline

Creates bounded iterator over [ptr, end).

Definition at line 59 of file memory_output_iterator.h.

◆ MemoryOutputIterator() [2/2]

template<size_t N>
roo_io::MemoryOutputIterator::MemoryOutputIterator ( byte  buf[N])
inline

Creates bounded iterator over fixed array.

Definition at line 63 of file memory_output_iterator.h.

Member Function Documentation

◆ flush()

void roo_io::MemoryOutputIterator::flush ( )
inline

Flushes output (no-op).

Does not modify status.

Definition at line 110 of file memory_output_iterator.h.

◆ ptr()

const byte * roo_io::MemoryOutputIterator::ptr ( ) const
inline

Returns current output pointer.

Returns
Current pointer.

Definition at line 105 of file memory_output_iterator.h.

◆ status()

Status roo_io::MemoryOutputIterator::status ( ) const
inline

Returns current status.

Returns
kOk when space remains; kNoSpaceLeftOnDevice after overflow.

Definition at line 100 of file memory_output_iterator.h.

References roo_io::kNoSpaceLeftOnDevice, and roo_io::kOk.

◆ write() [1/2]

void roo_io::MemoryOutputIterator::write ( byte  v)
inline

Writes one byte.

If no space remains, write is ignored and status becomes kNoSpaceLeftOnDevice.

Definition at line 69 of file memory_output_iterator.h.

◆ write() [2/2]

size_t roo_io::MemoryOutputIterator::write ( const byte buf,
size_t  count 
)
inline

Writes up to count bytes.

If available space is smaller than count, writes available prefix, updates status to kNoSpaceLeftOnDevice, and returns bytes written.

Returns
Number of bytes written.

Definition at line 86 of file memory_output_iterator.h.

References roo_io::count.


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