Disk ARchive  2.4.15
Public Member Functions | Protected Member Functions | List of all members
libdar::tronc Class Reference

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 More...
 
 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 ()
 destructor
 
bool skip (const infinint &pos)
 inherited from generic_file
 
bool skip_to_eof ()
 inherited from generic_file
 
bool skip_relative (S_I x)
 inherited from generic_file
 
infinint get_position ()
 inherited from generic_file
 
- Public Member Functions inherited from libdar::generic_file
 generic_file (gf_mode m)
 main constructor
 
 generic_file (const generic_file &ref)
 copy constructor
 
void terminate () const
 virtual destructor, this let inherited destructor to be called even from a generic_file pointer to an inherited class More...
 
const generic_fileoperator= (const generic_file &ref)
 assignment operator
 
gf_mode get_mode () const
 retreive the openning mode for this object
 
U_I read (char *a, U_I size)
 read data from the generic_file More...
 
void write (const char *a, U_I size)
 write data to the generic_file More...
 
void write (const std::string &arg)
 write a string to the generic_file More...
 
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 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 More...
 
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 &crc_size, crc *&value)
 compares the contents with the object in argument More...
 
bool diff (generic_file &f, const infinint &crc_size, crc *&value, infinint &err_offset)
 
void reset_crc (const infinint &width)
 reset CRC on read or writen data More...
 
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 More...
 
void sync_write ()
 write any pending data
 

Protected Member Functions

U_I inherited_read (char *a, U_I size)
 inherited from generic_file
 
void inherited_write (const char *a, U_I size)
 inherited from generic_file
 
void inherited_sync_write ()
 write down any pending data More...
 
void inherited_terminate ()
 destructor-like call, except that it is allowed to throw exceptions More...
 
- Protected Member Functions inherited from libdar::generic_file
void set_mode (gf_mode x)
 
bool is_terminated () const
 

Detailed Description

makes a segment of a generic_file appear like a real generic_file

Definition at line 43 of file tronc.hpp.

Constructor & Destructor Documentation

libdar::tronc::tronc ( generic_file f,
const infinint offset,
const infinint size,
bool  own_f = false 
)

constructor

Parameters
fis the file to take the segment from
offsetis the position of the beginning of the segment
sizeis the size of the segment
own_fis true if this object has to owns and may 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

Member Function Documentation

void libdar::tronc::inherited_sync_write ( )
inlineprotectedvirtual

write down any pending data

Note
this method is called after read/write mode checking from sync_write() public method;

Implements libdar::generic_file.

Definition at line 84 of file tronc.hpp.

References libdar::generic_file::sync_write().

void libdar::tronc::inherited_terminate ( )
inlineprotectedvirtual

destructor-like call, except that it is allowed to throw exceptions

Note
this method must never be called directly but using terminate() instead, generic_file class manages it to never be called more than once

Implements libdar::generic_file.

Definition at line 85 of file tronc.hpp.

References libdar::generic_file::terminate().


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