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

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | List of all members
libdar::header Class Reference
Private

this class manages the header of each slice More...

`#include <header.hpp>`

Inherits libdar::on_pool.

## Public Member Functions
| header (const header &ref)
const header & | operator= (const header &ref)
void | read (user_interaction &ui, generic_file &f, bool lax=false)
void | write (user_interaction &, generic_file &f) const
magic_number & | get_set_magic ()
label & | get_set_internal_name ()
char & | get_set_flag ()
label & | get_set_data_name ()
bool | get_first_slice_size (infinint &size) const
void | set_first_slice_size (const infinint &size)
void | unset_first_slice_size ()
bool | get_slice_size (infinint &size) const
void | set_slice_size (const infinint &size)
void | unset_slice_size ()
bool | is_old_header () const
void | set_format_07_compatibility ()
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

## Static Public Member Functions
static U_I | min_size ()
| minimal size of a header in an archive More...

## 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

this class manages the header of each slice

this class was a struct before release 2.4.0, now promoted to a class it hides the fields and uses TLV to store the fields in the archive. This makes the header easier to extend by adding new fields, while letting a chance for the old implementation to be able to use more recent archives the main use of TLV is to handle optional fields easily.

Definition at line 68 of file header.hpp.

## Member Function Documentation

static U_I libdar::header::min_size | ( |  | ) |
| inline static

minimal size of a header in an archive

Returns
  min size of a header once stored in an archive

Note
  since release 2.4.0 the header used for each slice is exactly the same. before this release the header of the first slice might be bigger, it was known that the size of the other header was "min_size" this let dar be able to find the proper slice for a given position. For compatibility with older DAR format, it is thus important to not change the value returned by this class method. This call is only used when reading archive generated by old versions of dar < 2.4.0. (aka archive format <= 7)

Definition at line 92 of file header.hpp.

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

- header.hpp