Титульная страница | Пространства имен | Иерархия классов | Алфавитный указатель | Классы | Файлы | Члены пространства имен | Члены классов | Описания | Примеры

Пространство имен cls_2::std_cpp


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

Пространство имен для средств работы со стандарным C++.


Классы

class  cls_2::std_cpp::es_ios_t
class  cls_2::std_cpp::es_ostringstream_t
class  cls_2::std_cpp::is_ios_t

Опции функций parse_istream() и parse_file().

const unsigned int es_uses_file_line = 0x1
 В потоке ошибок должны отображаться имя файла и номер строки.

const unsigned int es_uses_tag_stack = 0x2
 В потоке ошибок должен отображаться стек разбираемых тегов.


Функции

int parse_istream (std::istream &in, const std::string &stream_name, cls_2::tag_t **tags, size_t tag_count, std::ostream *error_stream=0, unsigned int options=es_uses_file_line|es_uses_tag_stack)
 Разбор указанного входного потока.

int parse_file (const std::string &stream_name, cls_2::tag_t **tags, size_t tag_count, std::ostream *error_stream=0, unsigned int options=es_uses_file_line|es_uses_tag_stack)
 Разбор указанного файла.

int parse_file (const std::string &stream_name, cls_2::tag_t &tag, std::string &error_stream, unsigned int options=es_uses_file_line|es_uses_tag_stack)
 Разбор указанного файла.

bool is_eol (char ch)
bool is_char_must_be_ignored (char ch)

Переменные

char g_chars_to_ignore [] = "\r"
char g_eol_chars [] = "\n"
const size_t c_file_buffer_capacity = 2048


Функции

int cls_2::std_cpp::parse_file const std::string &  stream_name,
cls_2::tag_t tag,
std::string &  error_stream,
unsigned int  options = es_uses_file_line|es_uses_tag_stack
 

Разбор указанного файла.

Начиная с:
v.2.6.2
Осуществляет разбор указанного файла, используя указанный тег. Описание ошибки помещается в error_desc. Для чтения файла используется класс std::ifstream.

Функция добавлена из-за того, что на практике очень часто требуется разбор конфигурационных файлов с оним тегом верхнего уровня и с обязательным сохранением описания ошибки.

Возвращает:
cls_2::c_ok, если разбор прошел успешно.
Аргументы:
stream_name  Имя файла для разбора.
tag  Единственный тег для разбора.
error_stream  Приемник описания ошибки.
options  Опции разбора.

int cls_2::std_cpp::parse_file const std::string &  stream_name,
cls_2::tag_t **  tags,
size_t  tag_count,
std::ostream *  error_stream = 0,
unsigned int  options = es_uses_file_line|es_uses_tag_stack
 

Разбор указанного файла.

Осуществляет разбор указанного файла, используя указанные теги. При необходимости в указанный std::ostream будет помещаться описание ошибок. Для чтения файла используется класс std::ifstream.

Возвращает:
cls_2::c_ok, если разбор прошел успешно.
Аргументы:
stream_name  Имя файла для разбора.
tags  Список тегов, которые должны участвовать в разборе.
tag_count  Количество элементов в tags.
error_stream  Необязательный поток ошибок.
options  Опции разбора.
Примеры:
test_cfg/main.cpp.

int cls_2::std_cpp::parse_istream std::istream &  in,
const std::string &  stream_name,
cls_2::tag_t **  tags,
size_t  tag_count,
std::ostream *  error_stream = 0,
unsigned int  options = es_uses_file_line|es_uses_tag_stack
 

Разбор указанного входного потока.

Осуществляет разбор указанного std::istream, используя указанные теги. При необходимости в указанный std::ostream будет помещаться описание ошибок.

Возвращает:
cls_2::c_ok, если разбор прошел успешно.
Аргументы:
in  Что будет разбираться.
stream_name  Имя данного потока. Будет использоваться в качестве имени файла, если задана опция es_uses_file_line.
tags  Список тегов, которые должны участвовать в разборе.
tag_count  Количество элементов в tags.
error_stream  Необязательный поток ошибок.
options  Опции разбора.
Примеры:
test_cfg/main.cpp.


Документация по cls_2. Последние изменения: Wed Aug 4 15:13:01 2004. Создано системой doxygen 1.3.7
Hosted by uCoz