|
| pile () |
| the constructor
|
|
| pile (const pile &ref)=delete |
|
| pile (pile &&ref) noexcept=delete |
|
pile & | operator= (const pile &ref)=delete |
|
pile & | operator= (pile &&ref) noexcept=delete |
|
void | push (generic_file *f, const std::string &label="", bool extend_mode=false) |
| add a generic_file on the top
|
|
generic_file * | pop () |
| remove the top generic_file from the top
|
|
template<class T > |
bool | pop_and_close_if_type_is (T *ptr) |
| remove the top generic_file and destroy it
|
|
generic_file * | top () const |
| returns the address of the top generic_file
|
|
generic_file * | bottom () const |
| returns the address of the bottom generic_file
|
|
U_I | size () const |
| returns the number of objects in the stack
|
|
bool | is_empty () const |
| returns true if the stack is empty, false otherwise.
|
|
void | clear () |
| clears the stack
|
|
template<class T > |
void | find_first_from_top (T *&ref) const |
| this template let the class user find out the higher object on the stack of the given type
|
|
template<class T > |
void | find_first_from_bottom (T *&ref) const |
| this template is similar to the template "find_first_from_top" except that the search is started from the bottom of the stack
|
|
generic_file * | get_below (const generic_file *ref) |
| return the generic_file object just below the given object or nullptr if the object is at the bottom of the stack or is not in the stack
|
|
generic_file * | get_above (const generic_file *ref) |
| return the generic_file object just above the given object or nullptr if the object is at the bottom of the stack or is not in the stack
|
|
generic_file * | get_by_label (const std::string &label) |
| find the object associated to a given label
|
|
void | clear_label (const std::string &label) |
| if label is associated to a member of the stack, makes this member of the stack an anoymous member (the label is no more associated to this object, while this object stays in the stack untouched
|
|
void | add_label (const std::string &label) |
| associate a additional label to the object currently at the top of the stack
|
|
void | sync_write_above (generic_file *ptr) |
| call the generic_file::sync_write() method of all object found above ptr in the stack
|
|
void | flush_read_above (generic_file *ptr) |
| call the generic_file::flush_read() method of all objects found above ptr in the stack
|
|
virtual bool | skippable (skippability direction, const infinint &amount) override |
| whether the implementation is able to skip
|
|
virtual bool | skip (const infinint &pos) override |
| skip at the absolute position
|
|
virtual bool | skip_to_eof () override |
| skip to the end of file
|
|
virtual bool | skip_relative (S_I x) override |
| skip relatively to the current position
|
|
virtual bool | truncatable (const infinint &amount) const override |
| whether the implementation is able to truncate to the given position
|
|
virtual infinint | get_position () const override |
| get the current read/write position
|
|
void | copy_to (generic_file &ref) override |
| copy all data from current position to the object in argument
|
|
void | copy_to (generic_file &ref, const infinint &crc_size, crc *&value) override |
| copy all data from the current position to the object in argument and computes a CRC value of the transmitted data
|
|
| 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
|
|
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
|
|
| 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
|
|
stores a stack of generic_files writing/reading on each others
Definition at line 43 of file pile.hpp.