Vowpal Wabbit
Public Member Functions | Private Attributes | List of all members
memory_io_buf Class Reference
Inheritance diagram for memory_io_buf:
io_buf

Public Member Functions

 memory_io_buf ()
 
virtual ssize_t write_file (int file, const void *buf, size_t nbytes)
 
virtual ssize_t read_file (int f, void *buf, size_t nbytes)
 
virtual bool close_file ()
 
char * GetDataPointer ()
 
size_t GetDataSize () const
 
- Public Member Functions inherited from io_buf
void verify_hash (bool verify)
 
uint32_t hash ()
 
virtual int open_file (const char *name, bool stdin_off)
 
virtual int open_file (const char *name, bool stdin_off, int flag=READ)
 
virtual void reset_file (int f)
 
 io_buf ()
 
virtual ~io_buf ()
 
void set (char *p)
 
virtual size_t num_files ()
 
ssize_t fill (int f)
 
virtual void flush ()
 
virtual bool compressed ()
 
void close_files ()
 
void buf_write (char *&pointer, size_t n)
 
size_t buf_read (char *&pointer, size_t n)
 
size_t bin_read_fixed (char *data, size_t len, const char *read_message)
 
size_t bin_write_fixed (const char *data, size_t len)
 

Private Attributes

vector< char > data
 
size_t readOffset
 

Additional Inherited Members

- Static Public Member Functions inherited from io_buf
static ssize_t read_file_or_socket (int f, void *buf, size_t nbytes)
 
static ssize_t write_file_or_socket (int f, const void *buf, size_t nbytes)
 
static void close_file_or_socket (int f)
 
static bool is_socket (int f)
 
- Public Attributes inherited from io_buf
v_array< char > space
 
v_array< int > files
 
size_t count
 
size_t current
 
char * head
 
v_array< char > currentname
 
v_array< char > finalname
 
- Static Public Attributes inherited from io_buf
static constexpr int READ = 1
 
static constexpr int WRITE = 2
 

Detailed Description

Definition at line 345 of file vwdll.cpp.

Constructor & Destructor Documentation

◆ memory_io_buf()

memory_io_buf::memory_io_buf ( )
inline

Definition at line 348 of file vwdll.cpp.

348  : readOffset(0) {
349  files.push_back(-1); // this is a hack because buf will do nothing if files is empty
350  }
void push_back(const T &new_ele)
Definition: v_array.h:107
v_array< int > files
Definition: io_buf.h:64
size_t readOffset
Definition: vwdll.cpp:383

Member Function Documentation

◆ close_file()

virtual bool memory_io_buf::close_file ( )
inlinevirtual

Reimplemented from io_buf.

Definition at line 365 of file vwdll.cpp.

365  {
366  if (files.size() > 0) {
367  files.pop();
368  return true;
369  }
370  return false;
371  }
T pop()
Definition: v_array.h:58
size_t size() const
Definition: v_array.h:68
v_array< int > files
Definition: io_buf.h:64

◆ GetDataPointer()

char* memory_io_buf::GetDataPointer ( )
inline

Definition at line 373 of file vwdll.cpp.

Referenced by VW_CopyModelData().

373  {
374  return data.data();
375  }
vector< char > data
Definition: vwdll.cpp:382

◆ GetDataSize()

size_t memory_io_buf::GetDataSize ( ) const
inline

Definition at line 377 of file vwdll.cpp.

Referenced by VW_CopyModelData().

377  {
378  return data.size();
379  }
vector< char > data
Definition: vwdll.cpp:382

◆ read_file()

virtual ssize_t memory_io_buf::read_file ( int  f,
void *  buf,
size_t  nbytes 
)
inlinevirtual

Reimplemented from io_buf.

Definition at line 358 of file vwdll.cpp.

358  {
359  nbytes = min(nbytes, data.size()-readOffset);
360  copy(data.data()+readOffset, data.data()+readOffset+nbytes, reinterpret_cast<char *>(buf));
361  readOffset += nbytes;
362  return nbytes;
363  }
size_t readOffset
Definition: vwdll.cpp:383
vector< char > data
Definition: vwdll.cpp:382

◆ write_file()

virtual ssize_t memory_io_buf::write_file ( int  file,
const void *  buf,
size_t  nbytes 
)
inlinevirtual

Reimplemented from io_buf.

Definition at line 352 of file vwdll.cpp.

352  {
353  auto byteBuf = reinterpret_cast<const char*>(buf);
354  data.insert(data.end(), &byteBuf[0], &byteBuf[nbytes]);
355  return nbytes;
356  }
vector< char > data
Definition: vwdll.cpp:382

Member Data Documentation

◆ data

vector<char> memory_io_buf::data
private

Definition at line 382 of file vwdll.cpp.

◆ readOffset

size_t memory_io_buf::readOffset
private

Definition at line 383 of file vwdll.cpp.


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