![]() |
Disk ARchive 2.7.18
Full featured and portable backup and archiving tool
|
makes a segment of a generic_file appear like a real generic_file More...
#include <tronc.hpp>
Inherits libdar::generic_file.
Inherited by libdar::trontextual.
Public Member Functions | |
| tronc (generic_file *f, const infinint &offset, const infinint &size, bool own_f=false) | |
| constructor | |
| tronc (generic_file *f, const infinint &offset, const infinint &size, gf_mode mode, bool own_f=false) | |
| tronc (generic_file *f, const infinint &offset, bool own_f=false) | |
| tronc (generic_file *f, const infinint &offset, gf_mode mode, bool own_f=false) | |
| tronc (const tronc &ref)=delete | |
| tronc (tronc &&ref) noexcept=delete | |
| tronc & | operator= (const tronc &ref)=delete |
| tronc & | operator= (tronc &&ref)=delete |
| ~tronc () | |
| destructor | |
| void | modify (const infinint &new_offset, const infinint &new_size) |
| modify the tronc object to zoom on another (size limited) portion of the underlying object | |
| void | modify (const infinint &new_offset) |
| modify the tronc object to zoom on another (size unlimited) portion of the underlying object | |
| void | modify () |
| modify the tronc object to become transparent and allow unrestricted access to the underlyuing object | |
| virtual bool | skippable (skippability direction, const infinint &amount) override |
| inherited from generic_file | |
| virtual bool | skip (const infinint &pos) override |
| inherited from generic_file | |
| virtual bool | skip_to_eof () override |
| inherited from generic_file | |
| virtual bool | skip_relative (S_I x) override |
| inherited from generic_file | |
| virtual bool | truncatable (const infinint &pos) const override |
| inherited from generic_file | |
| virtual infinint | get_position () const override |
| get the current read/write position | |
| void | check_underlying_position_while_reading_or_writing (bool mode) |
Public Member Functions inherited from libdar::generic_file | |
| generic_file (gf_mode m) | |
| main constructor | |
| generic_file (const generic_file &ref) | |
| copy constructor | |
| generic_file (generic_file &&ref) noexcept | |
| move constructor | |
| generic_file & | operator= (const generic_file &ref) |
| assignment operator | |
| generic_file & | operator= (generic_file &&ref) noexcept |
| move operator | |
| ~generic_file () noexcept(false) | |
| virtual destructor, | |
| void | terminate () |
| destructor-like call, except that it is allowed to throw exceptions | |
| bool | operator== (generic_file &ref) |
| bool | operator!= (generic_file &ref) |
| gf_mode | get_mode () const |
| retreive the openning mode for this object | |
| void | read_ahead (const infinint &amount) |
| void | ignore_read_ahead (bool mode) |
| virtual U_I | read (char *a, U_I size) override |
| read data from the generic_file inherited from proto_generic_file | |
| virtual void | write (const char *a, U_I size) override |
| write data to the generic_file inherited from proto_generic_file | |
| void | write (const std::string &arg) |
| write a string to the generic_file | |
| S_I | read_back (char &a) |
| skip back one char, read on char and skip back one char | |
| S_I | read_forward (char &a) |
| read one char | |
| virtual void | truncate (const infinint &pos) |
| truncate file at the given offset | |
| virtual void | copy_to (generic_file &ref) |
| copy all data from current position to the object in argument | |
| virtual void | copy_to (generic_file &ref, const infinint &crc_size, crc *&value) |
| copy all data from the current position to the object in argument and computes a CRC value of the transmitted data | |
| U_32 | copy_to (generic_file &ref, U_32 size) |
| small copy (up to 4GB) with CRC calculation | |
| infinint | copy_to (generic_file &ref, infinint size) |
| copy the given amount to the object in argument | |
| bool | diff (generic_file &f, const infinint &me_read_ahead, const infinint &you_read_ahead, const infinint &crc_size, crc *&value) |
| compares the contents with the object in argument | |
| bool | diff (generic_file &f, const infinint &me_read_ahead, const infinint &you_read_ahead, const infinint &crc_size, crc *&value, infinint &err_offset) |
| void | reset_crc (const infinint &width) |
| reset CRC on read or writen data | |
| bool | crc_status () const |
| to known whether CRC calculation is activated or not | |
| crc * | get_crc () |
| get CRC of the transfered date since last reset | |
| void | sync_write () |
| write any pending data | |
| void | flush_read () |
| be ready to read at current position, reseting all pending data for reading, cached and in compression engine for example | |
Public Member Functions inherited from libdar::proto_generic_file | |
| proto_generic_file (const proto_generic_file &ref)=default | |
| copy constructor | |
| proto_generic_file (proto_generic_file &&ref) noexcept=default | |
| move constructor | |
| proto_generic_file & | operator= (const proto_generic_file &ref)=default |
| assignment operator | |
| proto_generic_file & | operator= (proto_generic_file &&ref) noexcept=default |
| move operator | |
| virtual | ~proto_generic_file () noexcept(false) |
| virtual destructor | |
Protected Member Functions | |
| virtual void | inherited_read_ahead (const infinint &amount) override |
| inherited from generic_file | |
| virtual U_I | inherited_read (char *a, U_I size) override |
| inherited from generic_file | |
| virtual void | inherited_write (const char *a, U_I size) override |
| inherited from generic_file | |
| virtual void | inherited_truncate (const infinint &pos) override |
| truncate file at the give offset | |
| virtual void | inherited_sync_write () override |
| write down any pending data | |
| virtual void | inherited_flush_read () override |
| reset internal engine, flush caches in order to read the data at current position | |
| virtual void | inherited_terminate () override |
| destructor-like call, except that it is allowed to throw exceptions | |
Protected Member Functions inherited from libdar::generic_file | |
| void | set_mode (gf_mode x) |
| bool | is_terminated () const |
Private Member Functions | |
| void | set_back_current_position () |
| void | detruit () noexcept |
Private Attributes | |
| infinint | start |
| offset in the global generic file to start at | |
| infinint | sz |
| length of the portion to consider | |
| generic_file * | ref |
| global generic file of which to take a piece | |
| infinint | current |
| inside position of the next read or write | |
| bool | own_ref |
| whether we own ref (and must destroy it when no more needed) | |
| bool | limited |
| whether the sz argument is to be considered | |
| bool | check_pos |
| whether to check and eventually adjust (seek) the position of the underlying layer at each read or write | |
Additional Inherited Members | |
Public Types inherited from libdar::generic_file | |
| enum | skippability { skip_backward , skip_forward } |
makes a segment of a generic_file appear like a real generic_file
| libdar::tronc::tronc | ( | generic_file * | f, |
| const infinint & | offset, | ||
| const infinint & | size, | ||
| bool | own_f = false ) |
constructor
| f | is the file to take the segment from |
| offset | is the position of the beginning of the segment |
| size | is the size of the segment |
| own_f | is true if this object has to own and must destroy the 'f' object at tronc's destruction time |
| libdar::tronc::tronc | ( | generic_file * | f, |
| const infinint & | offset, | ||
| bool | own_f = false ) |
other constructor, the end of the segment is the end of the underlying generic_file only data before offset is inaccessible
|
inline |
when a tronc is used over a compressor, it becomes necessary to disable position check
Definition at line 94 of file tronc.hpp.
References check_pos.
|
inlineoverridevirtual |
get the current read/write position
Implements libdar::generic_file.
Definition at line 85 of file tronc.hpp.
References current.
|
inlineoverrideprotectedvirtual |
reset internal engine, flush caches in order to read the data at current position
Implements libdar::generic_file.
|
overrideprotectedvirtual |
inherited from generic_file
Implements libdar::generic_file.
|
overrideprotectedvirtual |
inherited from generic_file
Implements libdar::generic_file.
|
inlineoverrideprotectedvirtual |
write down any pending data
Implements libdar::generic_file.
Definition at line 105 of file tronc.hpp.
References ref, and libdar::generic_file::sync_write().
|
inlineoverrideprotectedvirtual |
destructor-like call, except that it is allowed to throw exceptions
Implements libdar::generic_file.
Definition at line 107 of file tronc.hpp.
References own_ref, ref, and libdar::generic_file::terminate().
|
overrideprotectedvirtual |
truncate file at the give offset
Implements libdar::generic_file.
|
overrideprotectedvirtual |
inherited from generic_file
Implements libdar::generic_file.
|
inline |
|
overridevirtual |
inherited from generic_file
Implements libdar::generic_file.
|
overridevirtual |
inherited from generic_file
Implements libdar::generic_file.
|
overridevirtual |
inherited from generic_file
Implements libdar::generic_file.
|
overridevirtual |
inherited from generic_file
Implements libdar::generic_file.
|
inlineoverridevirtual |
inherited from generic_file
Implements libdar::generic_file.
Definition at line 84 of file tronc.hpp.
References ref, start, and libdar::generic_file::truncatable().
|
private |
whether to check and eventually adjust (seek) the position of the underlying layer at each read or write
Definition at line 116 of file tronc.hpp.
Referenced by check_underlying_position_while_reading_or_writing().
|
private |
inside position of the next read or write
Definition at line 113 of file tronc.hpp.
Referenced by get_position().
|
private |
|
private |
whether we own ref (and must destroy it when no more needed)
Definition at line 114 of file tronc.hpp.
Referenced by inherited_terminate().
|
private |
global generic file of which to take a piece
Definition at line 112 of file tronc.hpp.
Referenced by inherited_sync_write(), inherited_terminate(), and truncatable().
|
private |
offset in the global generic file to start at
Definition at line 110 of file tronc.hpp.
Referenced by truncatable().
|
private |