| Disk ARchive 2.8.1 Full featured and portable backup and archiving tool

Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
libdar::storage Class Reference
Private

arbitrary large storage structure More...

`#include <storage.hpp>`

## Public Member Functions
| storage (U_32 size)
| storage (const infinint &size)
| storage (proto_generic_file &f, const infinint &size)
| storage (const storage &ref)
| storage (storage &&ref) noexcept
storage & | operator= (const storage &val)
storage & | operator= (storage &&val) noexcept
bool | operator< (const storage &ref) const noexcept
bool | operator== (const storage &ref) const noexcept
bool | operator> (const storage &ref) const noexcept
bool | operator<= (const storage &ref) const noexcept
bool | operator>= (const storage &ref) const noexcept
bool | operator!= (const storage &ref) const noexcept
unsigned char & | operator[] (infinint position)
unsigned char | operator[] (const infinint &position) const
infinint | size () const noexcept
void | clear (unsigned char val=0) noexcept
void | dump (proto_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
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)
void | truncate (const infinint &pos)

## Private Member Functions
void | copy_from (const storage &ref)
void | move_from (storage &&ref) noexcept
S_32 | difference (const storage &ref) const
void | reduce ()
void | insert_bytes_at_iterator_cmn (iterator it, bool constant, unsigned char *a, U_I size)
void | fusionne (struct cellule *a_first, struct cellule *a_last, struct cellule *b_first, struct cellule *b_last, struct cellule *&res_first, struct cellule *&res_last)

## Static Private Member Functions
static void | detruit (struct cellule *c)
static void | make_alloc (U_32 size, struct cellule *&begin, struct cellule *&end)
static void | make_alloc (infinint size, cellule *&begin, struct cellule *&end)

## Private Attributes
struct cellule * | first
struct cellule * | last

## Friends
class | storage::iterator

## Detailed Description

arbitrary large storage structure

used to store infinint

Definition at line 52 of file storage.hpp.

## Constructor & Destructor Documentation

## ◆ storage() [1/3]

libdar::storage::storage | ( | U_32 | size | ) |
| inline

Definition at line 64 of file storage.hpp.

## ◆ storage() [2/3]

libdar::storage::storage | ( | const storage & | ref | ) |
| inline

Definition at line 67 of file storage.hpp.

## ◆ storage() [3/3]

libdar::storage::storage | ( | storage && | ref | ) |
| inlinenoexcept

Definition at line 68 of file storage.hpp.

## ◆ ~storage()

libdar::storage::~storage | ( |  | ) |
| inline

Definition at line 71 of file storage.hpp.

## Member Function Documentation

## ◆ begin()

iterator libdar::storage::begin | ( |  | ) | const
| inline

Definition at line 145 of file storage.hpp.

## ◆ end()

iterator libdar::storage::end | ( |  | ) | const
| inline

Definition at line 147 of file storage.hpp.

## ◆ operator!=()

bool libdar::storage::operator!= | ( | const storage & | ref | ) | const
| inlinenoexcept

Definition at line 83 of file storage.hpp.

## ◆ operator<()

bool libdar::storage::operator< | ( | const storage & | ref | ) | const
| inlinenoexcept

Definition at line 73 of file storage.hpp.

## ◆ operator<=()

bool libdar::storage::operator<= | ( | const storage & | ref | ) | const
| inlinenoexcept

Definition at line 79 of file storage.hpp.

## ◆ operator=() [1/2]

storage & libdar::storage::operator= | ( | const storage & | val | ) |
| inline

Definition at line 69 of file storage.hpp.

## ◆ operator=() [2/2]

storage & libdar::storage::operator= | ( | storage && | val | ) |
| inlinenoexcept

Definition at line 70 of file storage.hpp.

## ◆ operator==()

bool libdar::storage::operator== | ( | const storage & | ref | ) | const
| inlinenoexcept

Definition at line 75 of file storage.hpp.

## ◆ operator>()

bool libdar::storage::operator> | ( | const storage & | ref | ) | const
| inlinenoexcept

Definition at line 77 of file storage.hpp.

## ◆ operator>=()

bool libdar::storage::operator>= | ( | const storage & | ref | ) | const
| inlinenoexcept

Definition at line 81 of file storage.hpp.

## ◆ rbegin()

iterator libdar::storage::rbegin | ( |  | ) | const
| inline

Definition at line 154 of file storage.hpp.

## ◆ read()

bool libdar::storage::read | ( | iterator & | it,
|  | unsigned char & | a ) const
| inline

Definition at line 168 of file storage.hpp.

## ◆ rend()

iterator libdar::storage::rend | ( |  | ) | const
| inline

Definition at line 156 of file storage.hpp.

## ◆ write() [1/2]

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] | it | where to write data to, at the end this iterator points just after the data that has been wrote
  [in] | a | gives to the address where is located the data to write to the storage object
  [in] | size | how much bytes to write to the storage

## ◆ write() [2/2]

bool libdar::storage::write | ( | iterator & | it,
|  | unsigned char | a )
| inline

Definition at line 166 of file storage.hpp.

## Friends And Related Symbol Documentation

## ◆ storage::iterator

friend class storage::iterator
| friend

Definition at line 195 of file storage.hpp.

## Member Data Documentation

## ◆ first

struct cellule* libdar::storage::first
| private

Definition at line 181 of file storage.hpp.

## ◆ last

struct cellule * libdar::storage::last
| private

Definition at line 181 of file storage.hpp.

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

- storage.hpp