Класс file_t

#include <file.hpp>

Граф наследования:file_t:

ibinstream_t obinstream_t istream_t ostream_t Полный список членов класса

Подробное описание

Класс для работы с файлами.


Открытые члены

void open (const std::string &file_name, bool is_read_only)
void create (const std::string &file_name)
void close ()
oess_1::uint_t tell ()
void seek (oess_1::uint_t pos)
oess_1::uint_t length ()
virtual bool eof () const
void chsize (oess_1::uint_t size)

Открытые статические члены

static void remove (const std::string &file_name)
static bool is_file_exists (const std::string &file_name)
 Проверить существование файла с указанным именем.
static void rename_file (const std::string &what, const std::string &to, bool auto_destroy_existing_target=false)
 Переименовать файл.

Защищенные члены

virtual const oess_1::char_tin_reserve (size_t item_count, size_t item_size, size_t &item_available)
virtual void in_shift (size_t item_count, size_t item_size)
virtual oess_1::char_tout_reserve (size_t item_count, size_t item_size, size_t &item_available)
virtual void out_shift (size_t item_count, size_t item_size)

Закрытые члены

void is_workable (bool is_read_only_op) const

Закрытые данные

auto_ptr_3::vect_ptr_t< oess_1::char_tm_buf
int m_file
bool m_is_read_only


Методы

void chsize ( oess_1::uint_t  size  ) 

Усечь файл до указанного размера.

void close (  ) 

Закрыть файл. Исключения не выпускаются.

void create ( const std::string &  file_name  ) 

Создать новый файл или перезаписать существующий.

Аргументы:
file_name  Имя создаваемого файла.

bool eof (  )  const [virtual]

Достигнут ли конец файла?

Замещает ibinstream_t.

const oess_1::char_t * in_reserve ( size_t  item_count,
size_t  item_size,
size_t &  item_available 
) [protected, virtual]

Метод для определения указателя, из которого можно считывать данные. Если нет достаточного объема данных для чтения хотя бы одного элемента, то должно порождаться исключение.

Осуществляет загрузку фрагмента (части фрагмента) из файла во внутренний буфер.

Аргументы:
item_count  Количество элементов, которые нужно прочитать.
item_size  Размер одного элемента в байтах.
item_available  Количество элементов, доступных по возвращенному указателю.

Замещает ibinstream_t.

void in_shift ( size_t  item_count,
size_t  item_size 
) [protected, virtual]

Сдвинуть указатель. Вызывается после успешного чтения из буфера, указатель на который был возвращен методом out_reserve.

Ничего не делает.

Аргументы:
item_count  Количество успешно прочитанных элементов.
item_size  Размер одного элемента в байтах.

Замещает ibinstream_t.

bool is_file_exists ( const std::string &  file_name  )  [static]

Проверить существование файла с указанным именем.

Начиная с:
v.1.1.0
Возвращает:
true, если существует файл. false, если файл не существует, либо с данным именем связан другой объект файловой системы (например, каталог).

void is_workable ( bool  is_read_only_op  )  const [private]

Проверка возможности выполнения операции. Если операцию осуществить невозможно, то порождается исключение.

Аргументы:
is_read_only_op  true, если операция является read-only операцией и не требует изменения содержимого файла.

oess_1::uint_t length (  ) 

Определить длину файла.

void open ( const std::string &  file_name,
bool  is_read_only 
)

Открыть существующий файл.

Аргументы:
file_name  Имя открываемого файла.
is_read_only  true, если файл должен быть открыт только для чтения.

oess_1::char_t * out_reserve ( size_t  item_count,
size_t  item_size,
size_t &  item_available 
) [protected, virtual]

Метод для определения указателя, в который можно записывать данные. Если нет достаточного объема данных для чтения хотя бы одного элемента, то должно порождаться исключение.

Возвращает указатель на начало внутреннего буфера.

Аргументы:
item_count  Количество элементов, которые нужно записать.
item_size  Размер одного элемента в байтах.
item_available  Количество элементов, доступных для записи по возвращенному указателю.

Замещает obinstream_t.

void out_shift ( size_t  item_count,
size_t  item_size 
) [protected, virtual]

Сдвинуть указатель. Вызывается после успешной записи в буфер, указатель на который был возвращен методом out_reserve.

Осуществляет запись фрагмента (части фрагмента) из внутреннего буфера в файл.

Аргументы:
item_count  Количество успешно записанных элементов.
item_size  Размер одного элемента в байтах.

Замещает obinstream_t.

void remove ( const std::string &  file_name  )  [static]

Удалить файл.

void rename_file ( const std::string &  what,
const std::string &  to,
bool  auto_destroy_existing_target = false 
) [static]

Переименовать файл.

Начиная с:
v.1.4.0
Если аргумент auto_destroy_existing_target == true, то проверяет существование to и если to существует, то пытается предварительно удалить to.

Если аргумент auto_destroy_existing_target == false, то существование to воспринимается как ошибка и удаление не выполняется, а порождается исключение.

Аргументы:
what  Что переименовывать.
to  Во что переименовывать.
auto_destroy_existing_target  Нужно ли уничтожать to, если to существует.

void seek ( oess_1::uint_t  pos  ) 

Перейти на указанную позицию.

oess_1::uint_t tell (  ) 

Определить текущую позицию в файле.


Данные класса

auto_ptr_3::vect_ptr_t< oess_1::char_t > m_buf [private]

Буфер для операций ввода-вывода.

int m_file [private]

Системный дескриптор файла.

bool m_is_read_only [private]

true, если файл открыт в режиме read-only.


Объявления и описания членов классов находятся в файлах:
Документация по ObjESSty. Последние изменения: Fri Oct 13 18:35:39 2006. Создано системой  doxygen 1.4.7
Hosted by uCoz