Android-cuttlefish cvd tool
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Block Struct Reference

#include <types.h>

Public Types

using iterator = char *
 

Public Member Functions

 Block ()=default
 
 Block (size_t size)
 
 Block (const std::string &s)
 
template<typename Iterator >
 Block (Iterator begin, Iterator end)
 
 Block (const Block &copy)=delete
 
 Block (Block &&move) noexcept
 
Blockoperator= (const Block &copy)=delete
 
Blockoperator= (Block &&move) noexcept
 
 ~Block ()=default
 
void resize (size_t new_size)
 
template<typename InputIt >
void assign (InputIt begin, InputIt end)
 
void clear ()
 
bool is_full () const
 
size_t remaining () const
 
size_t fillFrom (Block &from)
 
void rewind ()
 
size_t position () const
 
size_t capacity () const
 
size_t size () const
 
bool empty () const
 
char * data ()
 
const char * data () const
 
char * begin ()
 
const char * begin () const
 
char * end ()
 
const char * end () const
 
char & operator[] (size_t idx)
 
const char & operator[] (size_t idx) const
 
bool operator== (const Block &rhs) const
 

Private Member Functions

void allocate (size_t size)
 

Private Attributes

std::unique_ptr< char[]> data_
 
size_t capacity_ = 0
 
size_t size_ = 0
 
size_t position_ = 0
 

Member Typedef Documentation

◆ iterator

using Block::iterator = char*

Constructor & Destructor Documentation

◆ Block() [1/6]

Block::Block ( )
default

◆ Block() [2/6]

Block::Block ( size_t  size)
inlineexplicit

◆ Block() [3/6]

Block::Block ( const std::string &  s)
inlineexplicit

◆ Block() [4/6]

template<typename Iterator >
Block::Block ( Iterator  begin,
Iterator  end 
)
inline

◆ Block() [5/6]

Block::Block ( const Block copy)
delete

◆ Block() [6/6]

Block::Block ( Block &&  move)
inlinenoexcept

◆ ~Block()

Block::~Block ( )
default

Member Function Documentation

◆ allocate()

void Block::allocate ( size_t  size)
inlineprivate

◆ assign()

template<typename InputIt >
void Block::assign ( InputIt  begin,
InputIt  end 
)
inline

◆ begin() [1/2]

char * Block::begin ( )
inline

◆ begin() [2/2]

const char * Block::begin ( ) const
inline

◆ capacity()

size_t Block::capacity ( ) const
inline

◆ clear()

void Block::clear ( )
inline

◆ data() [1/2]

char * Block::data ( )
inline

◆ data() [2/2]

const char * Block::data ( ) const
inline

◆ empty()

bool Block::empty ( ) const
inline

◆ end() [1/2]

char * Block::end ( )
inline

◆ end() [2/2]

const char * Block::end ( ) const
inline

◆ fillFrom()

size_t Block::fillFrom ( Block from)
inline

◆ is_full()

bool Block::is_full ( ) const
inline

◆ operator=() [1/2]

Block & Block::operator= ( Block &&  move)
inlinenoexcept

◆ operator=() [2/2]

Block & Block::operator= ( const Block copy)
delete

◆ operator==()

bool Block::operator== ( const Block rhs) const
inline

◆ operator[]() [1/2]

char & Block::operator[] ( size_t  idx)
inline

◆ operator[]() [2/2]

const char & Block::operator[] ( size_t  idx) const
inline

◆ position()

size_t Block::position ( ) const
inline

◆ remaining()

size_t Block::remaining ( ) const
inline

◆ resize()

void Block::resize ( size_t  new_size)
inline

◆ rewind()

void Block::rewind ( )
inline

◆ size()

size_t Block::size ( ) const
inline

Member Data Documentation

◆ capacity_

size_t Block::capacity_ = 0
private

◆ data_

std::unique_ptr<char[]> Block::data_
private

◆ position_

size_t Block::position_ = 0
private

◆ size_

size_t Block::size_ = 0
private

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