A toolkit for working with phylogenetic data.
v0.19.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
InputBuffer Class Reference

#include <genesis/utils/io/input_buffer.hpp>

Detailed Description

Definition at line 49 of file input_buffer.hpp.

Public Member Functions

 InputBuffer ()
 
 InputBuffer (std::unique_ptr< BaseInputSource > input_source)
 
 InputBuffer (self_type const &)=delete
 
 InputBuffer (self_type &&)=delete
 
 ~InputBuffer ()
 
 operator bool () const
 
self_typeoperator= (self_type const &)=delete
 
self_typeoperator= (self_type &&)=delete
 
char peek (size_t ahead=1)
 
size_t read (char *target, size_t size)
 

Public Types

using self_type = InputBuffer
 
using value_type = char
 

Static Public Attributes

static const size_t BlockLength = 1 << 22
 Block length for internal buffering. More...
 

Constructor & Destructor Documentation

InputBuffer ( )
inline

Definition at line 71 of file input_buffer.hpp.

InputBuffer ( std::unique_ptr< BaseInputSource input_source)
inlineexplicit

Definition at line 78 of file input_buffer.hpp.

~InputBuffer ( )
inline

Definition at line 83 of file input_buffer.hpp.

InputBuffer ( self_type const &  )
delete
InputBuffer ( self_type &&  )
delete

Member Function Documentation

operator bool ( ) const
inline

Definition at line 99 of file input_buffer.hpp.

self_type& operator= ( self_type const &  )
delete
self_type& operator= ( self_type &&  )
delete
char peek ( size_t  ahead = 1)
inline

Definition at line 104 of file input_buffer.hpp.

size_t read ( char *  target,
size_t  size 
)
inline

Definition at line 131 of file input_buffer.hpp.

Member Typedef Documentation

Definition at line 64 of file input_buffer.hpp.

using value_type = char

Definition at line 65 of file input_buffer.hpp.

Member Data Documentation

const size_t BlockLength = 1 << 22
static

Block length for internal buffering.

The buffer uses three blocks of this size (4MB each).

Definition at line 62 of file input_buffer.hpp.


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