All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Filesystem::IOVecOutput Class Reference

#include <filesystem.h>

+ Inheritance diagram for Filesystem::IOVecOutput:

Public Member Functions

 IOVecOutput ()
 IOVecOutput (std::vector< unsigned char > &buf)
virtual const char * proxytype () const
virtual size_t write (const void *buf, size_t size)
virtual size_t pwrite (const void *buf, size_t size, int64_t offset)
virtual size_t size () const
std::vector< unsigned char > & buffer () const
- Public Member Functions inherited from Filesystem::IOProxy
 IOProxy ()
 IOProxy (string_view filename, Mode mode)
virtual ~IOProxy ()
virtual void close ()
virtual bool opened () const
virtual int64_t tell ()
virtual bool seek (int64_t offset)
virtual size_t read (void *buf, size_t size)
virtual size_t pread (void *buf, size_t size, int64_t offset)
virtual void flush () const
Mode mode () const
const std::stringfilename () const
template<class T >
size_t read (span< T > buf)
template<class T >
size_t write (span< T > buf)
size_t write (string_view buf)
bool seek (int64_t offset, int origin)
std::string error () const
void error (string_view e)

Protected Attributes

std::vector< unsigned char > & m_buf
std::vector< unsigned char > m_local_buf
std::mutex m_mutex
- Protected Attributes inherited from Filesystem::IOProxy
std::string m_filename
int64_t m_pos = 0
Mode m_mode = Closed

Additional Inherited Members

- Public Types inherited from Filesystem::IOProxy
enum  Mode { Closed = 0, Read = 'r', Write = 'w' }

Detailed Description

IOProxy subclass for writing that wraps a std::vector<char> that will grow as we write.

Definition at line 429 of file filesystem.h.

Constructor & Destructor Documentation

Filesystem::IOVecOutput::IOVecOutput ( )

Definition at line 432 of file filesystem.h.

Filesystem::IOVecOutput::IOVecOutput ( std::vector< unsigned char > &  buf)

Definition at line 438 of file filesystem.h.

Member Function Documentation

std::vector<unsigned char>& Filesystem::IOVecOutput::buffer ( ) const

Definition at line 449 of file filesystem.h.

virtual const char* Filesystem::IOVecOutput::proxytype ( ) const

Implements Filesystem::IOProxy.

Definition at line 443 of file filesystem.h.

virtual size_t Filesystem::IOVecOutput::pwrite ( const void buf,
size_t  size,
int64_t  offset 

Reimplemented from Filesystem::IOProxy.

virtual size_t Filesystem::IOVecOutput::size ( void  ) const

Reimplemented from Filesystem::IOProxy.

Definition at line 446 of file filesystem.h.

virtual size_t Filesystem::IOVecOutput::write ( const void buf,
size_t  size 

Reimplemented from Filesystem::IOProxy.

Member Data Documentation

std::vector<unsigned char>& Filesystem::IOVecOutput::m_buf

Definition at line 452 of file filesystem.h.

std::vector<unsigned char> Filesystem::IOVecOutput::m_local_buf

Definition at line 453 of file filesystem.h.

std::mutex Filesystem::IOVecOutput::m_mutex

Definition at line 454 of file filesystem.h.

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