Disk ARchive  2.5.11
Full featured and portable backup and archiving tool
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules
Public Member Functions | Friends | List of all members
libdar::storage Class Reference

arbitrary large storage structure More...

#include <storage.hpp>

Inherits libdar::on_pool.

Public Member Functions

 storage (U_32 size)
 
 storage (const infinint &size)
 
 storage (const storage &ref)
 
 storage (generic_file &f, const infinint &size)
 
const storageoperator= (const storage &val)
 
bool operator< (const storage &ref) const
 
bool operator== (const storage &ref) const
 
bool operator> (const storage &ref) const
 
bool operator<= (const storage &ref) const
 
bool operator>= (const storage &ref) const
 
bool operator!= (const storage &ref) const
 
unsigned char & operator[] (infinint position)
 
unsigned char operator[] (const infinint &position) const
 
infinint size () const
 
void clear (unsigned char val=0)
 
void dump (generic_file &f) const
 
iterator begin () const
 
iterator end () const
 
iterator rbegin () const
 
iterator rend () const
 
U_I write (iterator &it, unsigned char *a, U_I size)
 write data to the storage at the location pointed to by it More...
 
U_I read (iterator &it, unsigned char *a, U_I size) const
 
bool write (iterator &it, unsigned char a)
 
bool read (iterator &it, unsigned char &a) const
 
void insert_null_bytes_at_iterator (iterator it, U_I size)
 
void insert_const_bytes_at_iterator (iterator it, unsigned char a, U_I size)
 
void insert_bytes_at_iterator (iterator it, unsigned char *a, U_I size)
 
void insert_as_much_as_necessary_const_byte_to_be_as_wider_as (const storage &ref, const iterator &it, unsigned char value)
 
void remove_bytes_at_iterator (iterator it, U_I number)
 
void remove_bytes_at_iterator (iterator it, infinint number)
 
- Public Member Functions inherited from libdar::on_pool
void * operator new (size_t n_byte)
 
void * operator new (size_t n_byte, const std::nothrow_t &nothrow_value)
 
void * operator new[] (size_t n_byte)
 
void * operator new[] (size_t n_byte, const std::nothrow_t &nothrow_value)
 
void * operator new (size_t n_byte, memory_pool *p)
 
void * operator new[] (size_t n_byte, memory_pool *p)
 
void operator delete (void *ptr, memory_pool *p)
 this operator is called by the compiler if an exception is throw from the constructor of the allocated object
 
void operator delete[] (void *ptr, memory_pool *p)
 this operator is called by the compiler if an exception is throw from the constructor of the allocated objects
 
void operator delete (void *ptr)
 this is the usual delete operator, modified to handle allocated objects allocated on a memory pool or not
 
void operator delete[] (void *ptr)
 this is the usual delete[] operator, modified to handle allocated objects allocated on a memory pool or not
 

Friends

class storage::iterator
 

Additional Inherited Members

- Protected Member Functions inherited from libdar::on_pool
memory_pool * get_pool () const
 
template<class T >
void meta_new (T *&ptr, size_t num)
 
template<class T >
void meta_delete (T *ptr)
 

Detailed Description

arbitrary large storage structure

used to store infinint

Definition at line 57 of file storage.hpp.

Member Function Documentation

U_I libdar::storage::write ( iterator &  it,
unsigned char *  a,
U_I  size 
)

write data to the storage at the location pointed to by it

Parameters
[in,out]itwhere to write data to, at the end this iterator points just after the data that has been wrote
[in]agives to the address where is located the data to write to the storage object
[in]sizehow much bytes to write to the storage

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