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

Класс nitro::BinaryData

Класс для хранения бинарных данных. Подробнее...

#include <utilities/binary_data.h>

Граф связей класса nitro::BinaryData:
Collaboration graph
[см. легенду]

Полный список членов класса

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

 BinaryData (void)
 BinaryData (const char &Ch)
 BinaryData (const char *Buffer)
 BinaryData (const char *Buffer, const std::size_t &Length)
 BinaryData (const BinaryData &Data)
 operator const char * () const
BinaryData operator= (const BinaryData &Data)
void AppendData (const char &Ch)
void AppendData (const char *Buffer)
void AppendData (const std::string &Buffer)
void AppendData (const char *Buffer, const std::size_t &Length)
std::size_t GetBufferLength (void) const
const char * GetBuffer (void) const
void SetByte (std::size_t BytePos, char ByteValue)
void Release (void)
void Reserve (const std::size_t &theLength)
virtual ~BinaryData ()

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

static int GetFirstOccurance (const char *OriginalBuffer, const std::size_t OriginalBufferLength, const char *Buffer, const std::size_t BufferLength, const std::size_t StartFrom=0)
static int GetFirstOccurance (const BinaryData &c, const char *Buffer, const std::size_t BufferLength, const std::size_t StartFrom=0)
static int GetOccuranceCount (const char *OriginalBuffer, const std::size_t OriginalBufferLength, const char *Buffer, const std::size_t BufferLength)
static int GetOccuranceCount (const BinaryData &c, const char *Buffer, const std::size_t BufferLength)
static void ReplaceBuffer (BinaryData &c, const std::size_t StartPos, const std::size_t ReplaceLength, const char *Buffer, const std::size_t BufferLength)
static void ReplaceBuffer (BinaryData &c, const char *NeedleBuffer, const std::size_t NeedleBufferLength, const char *Buffer, const std::size_t BufferLength)

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

std::vector< char > Data

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

Класс для хранения бинарных данных.

Автор:
Додонов А.А.

См. определение в файле binary_data.h строка 56


Конструктор(ы)

nitro::BinaryData::BinaryData ( void   ) 

Конструктор по умолчанию.

Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 11

                                     : Data()
        {
        }

nitro::BinaryData::BinaryData ( const char &  Ch  ) 

Конструктор принимающий данные.

Аргументы:
Ch - Добавляемые данные.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 15

Перекрестные ссылки nitro::exception::code(), Data и nitro::exception::what().

        {
                try
                {
                        Data.push_back( Ch );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::BinaryData( const char & Ch )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::BinaryData( const char & Ch )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

nitro::BinaryData::BinaryData ( const char *  Buffer  ) 

Конструктор принимающий строковые данные (т.е. заканчивающиеся нуль символом).

Аргументы:
Buffer - Добавляемые данные.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 31

Перекрестные ссылки AppendData(), nitro::exception::code() и nitro::exception::what().

        {
                try
                {
                        // копируем без нуль символа!!!
                        AppendData( Buffer , strlen( Buffer ) + 1 );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::BinaryData( const char * Buffer )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::BinaryData( const char * Buffer )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

nitro::BinaryData::BinaryData ( const char *  Buffer,
const std::size_t &  Length 
)

Конструктор принимающий произвольные бинарные данные.

Аргументы:
Buffer - Добавляемые данные.
Length - Длина добавляемого буффера.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 48

Перекрестные ссылки AppendData(), nitro::exception::code() и nitro::exception::what().

        {
                try
                {
                        AppendData( Buffer , Length );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::BinaryData( const char * Buffer , const std::size_t & Length )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::BinaryData( const char * Buffer , const std::size_t & Length )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

nitro::BinaryData::BinaryData ( const BinaryData Data  ) 

Конструктор копирования.

Аргументы:
Data - Данные, которыми будет инициализирован объект.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 64

Перекрестные ссылки AppendData(), nitro::exception::code(), GetBuffer(), GetBufferLength(), Release() и nitro::exception::what().

        {
                try
                {
                        Release();

                        AppendData( Data.GetBuffer() , Data.GetBufferLength() );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::BinaryData( const BinaryData & Data )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::BinaryData( const BinaryData & Data )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

nitro::BinaryData::~BinaryData (  )  [virtual]

Деструктор (виртуальный).

Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 269

Перекрестные ссылки Release().

        {
                try
                {
                        Release();
                }
                catch( ... )
                {
                }
        }

Граф вызовов:


Методы

void nitro::BinaryData::AppendData ( const char &  Ch  ) 

Функция добавления данных к уже существующим.

Аргументы:
Ch - Добавляемые данные.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 118

Перекрестные ссылки nitro::exception::code(), Data и nitro::exception::what().

Используется в AppendData(), nitro::CSVFile::AppendRecord(), BinaryData(), nitro::File::LoadBinDataFromFile(), nitro::INIFile::LoadINIFile(), operator=(), nitro::CSVFile::ReadRecord() и nitro::INIFile::SaveINIFile().

        {
                try
                {
                        Data.push_back( Ch );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::AppendData( const char & Ch )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::AppendData( const char & Ch )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

void nitro::BinaryData::AppendData ( const char *  Buffer  ) 

Функция добавления строковых данных(которые заканчиваются нульсимволом) к уже существующим.

Аргументы:
Buffer - Добавляемые данные.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 134

Перекрестные ссылки AppendData(), nitro::exception::code() и nitro::exception::what().

        {
                try
                {
                        AppendData( Buffer , strlen( Buffer ) );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::AppendData( const char * Buffer )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::AppendData( const char * Buffer )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

void nitro::BinaryData::AppendData ( const std::string &  Buffer  ) 

Функция добавления строковых данных к уже существующим.

Аргументы:
Buffer - Добавляемые данные.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 150

Перекрестные ссылки AppendData(), nitro::exception::code() и nitro::exception::what().

        {
                try
                {
                        AppendData( Buffer.c_str() , Buffer.size() );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::AppendData( const char * Buffer )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::AppendData( const char * Buffer )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

void nitro::BinaryData::AppendData ( const char *  Buffer,
const std::size_t &  Length 
)

Функция добавления данных к уже существующим.

Аргументы:
Buffer - Добавляемые данные.
Length - Длина добавляемого буффера.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 166

Перекрестные ссылки nitro::exception::code(), Data и nitro::exception::what().

        {
                try
                {
                        std::size_t                             OldSize( Data.size() );
                        Data.resize( OldSize + theLength );
                        memcpy( &( Data[ OldSize ] ) , Buffer , theLength );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::AppendData( const char * Buffer , const std::size_t & theLength )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::AppendData( const char * Buffer , const std::size_t & theLength )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

const char * nitro::BinaryData::GetBuffer ( void   )  const

Функция получения указателя на буффер.

Возвращает:
Хранимый буффер.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 200

Перекрестные ссылки nitro::exception::code(), Data и nitro::exception::what().

Используется в nitro::ZIPAbstraction::AddFile(), nitro::CSVFile::AppendRecord(), BinaryData(), GetFirstOccurance(), GetOccuranceCount(), nitro::INIFile::LoadINIFile(), nitro::XMLFile::LoadXML(), operator const char *(), operator=(), nitro::CSVFile::ReadRecord() и nitro::File::SaveBinDataToFile().

        {
                try
                {
                        return( &( Data[ 0 ] ) );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::GetBuffer( void )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::GetBuffer( void )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

std::size_t nitro::BinaryData::GetBufferLength ( void   )  const

См. определение в файле binary_data.cpp строка 184

Перекрестные ссылки nitro::exception::code(), Data и nitro::exception::what().

Используется в nitro::ZIPAbstraction::AddFile(), nitro::CSVFile::AppendRecord(), BinaryData(), GetFirstOccurance(), GetOccuranceCount(), nitro::XMLFile::LoadXML(), operator=(), nitro::CSVFile::ReadRecord() и nitro::File::SaveBinDataToFile().

        {
                try
                {
                        return( Data.size() );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::GetBufferLength( void ) const::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::GetBufferLength( void ) const::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

int nitro::BinaryData::GetFirstOccurance ( const BinaryData c,
const char *  Buffer,
const std::size_t  BufferLength,
const std::size_t  StartFrom = 0 
) [static]

Функция проверяет есть ли в контейнере "с" цепочка данных из r.

Аргументы:
c - контейнер с данными.
Buffer - Цепочка байтов, которую мы ищем в контейнере.
BufferLength - Длина искомого буффера.
StartFrom - Позиция первого символа с которого будет начат поиск.
Возвращает:
Курсор байта в буффере, где нашли первое вхождение. -1 если вхождения не найдено.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А. Cursor of furst occurence of chain. -1 if the occurance was not found.
Исключения:
nitro::exception Throws exception with the description of error.
Автор:
Dodonov A.A.

См. определение в файле binary_data.cpp строка 308

Перекрестные ссылки nitro::exception::code(), GetBuffer(), GetBufferLength(), GetFirstOccurance() и nitro::exception::what().

        {
                try
                {
                        return( GetFirstOccurance( c.GetBuffer() , c.GetBufferLength() , Buffer , BufferLength ) );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "GetFirstOccurance( const BinaryData & c , const char * Buffer , const std::size_t BufferLength )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "GetFirstOccurance( const BinaryData & c , const char * Buffer , const std::size_t BufferLength )::An error occured while executing template< class container , class raw >int GetFirstOccurance( const container & c , const raw & r )" ) , 0 ) );
                }
        }

Граф вызовов:

int nitro::BinaryData::GetFirstOccurance ( const char *  OriginalBuffer,
const std::size_t  OriginalBufferLength,
const char *  Buffer,
const std::size_t  BufferLength,
const std::size_t  StartFrom = 0 
) [static]

Функция проверяет есть ли в контейнере "с" цепочка данных из r.

Аргументы:
OriginalBuffer - Буффер с данными.
OriginalBufferLength - Длина буффера с данными.
Buffer - Цепочка байтов, которую мы ищем в контейнере.
BufferLength - Длина искомого буффера.
StartFrom - Позиция первого символа с которого будет начат поиск.
Возвращает:
Курсор байта в буффере, где нашли первое вхождение. -1 если вхождения не найдено.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 280

Перекрестные ссылки nitro::exception::code() и nitro::exception::what().

Используется в GetFirstOccurance(), GetOccuranceCount(), ReplaceBuffer() и nitro::TemplateEngine::SetVariable().

        {
                try
                {
                        for( std::size_t i( StartFrom ) ; i < OriginalBufferLength ; i++ )
                        {
                                std::size_t             j( 0 );

                                for( ; j < BufferLength && i + j < OriginalBufferLength && OriginalBuffer[ i + j ] == Buffer[ j ] ; j++ );

                                if( j == BufferLength )
                                {
                                        return( ( int )i );
                                }
                        }

                        return( -1 );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::GetFirstOccurance( const char * OriginalBuffer , const std::size_t OriginalBufferLength , const char * Buffer , const std::size_t BufferLength , const std::size_t StartFrom /* = 0 */ )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::GetFirstOccurance( const char * OriginalBuffer , const std::size_t OriginalBufferLength , const char * Buffer , const std::size_t BufferLength , const std::size_t StartFrom /* = 0 */ )::An error occured while executing template< class container , class raw >int GetFirstOccurance( const container & c , const raw & r )" ) , 0 ) );
                }
        }

Граф вызовов:

int nitro::BinaryData::GetOccuranceCount ( const char *  OriginalBuffer,
const std::size_t  OriginalBufferLength,
const char *  Buffer,
const std::size_t  BufferLength 
) [static]

Функция подсчета количества вхождений буффера Buffer.

Аргументы:
OriginalBuffer - Буффер с данными.
OriginalBufferLength - Длина буффера с данными.
Buffer - Цепочка байтов, которую мы ищем в контейнере.
BufferLength - Длина искомого буффера.
Возвращает:
Количество вхождений.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 324

Перекрестные ссылки nitro::exception::code(), GetFirstOccurance() и nitro::exception::what().

Используется в nitro::CSVFile::AppendRecord() и GetOccuranceCount().

        {
                try
                {
                        std::size_t                             Counter( 0 );
                        int                                             Tmp;
                        for( int i( 0 ) ; i < ( int )OriginalBufferLength ; i++ )
                        {
                                Tmp = GetFirstOccurance( OriginalBuffer , OriginalBufferLength , Buffer , BufferLength , i );

                                if( Tmp != -1 )
                                {
                                        Counter++;
                                        i = ( int )( Tmp + BufferLength - 1 );
                                }
                        }

                        return( ( int )Counter );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::GetOccuranceCount( const char * OriginalBuffer , const std::size_t OriginalBufferLength , const char * Buffer , const std::size_t BufferLength )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::GetOccuranceCount( const char * OriginalBuffer , const std::size_t OriginalBufferLength , const char * Buffer , const std::size_t BufferLength )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

int nitro::BinaryData::GetOccuranceCount ( const BinaryData c,
const char *  Buffer,
const std::size_t  BufferLength 
) [static]

Функция подсчета количества вхождений буффера Buffer.

Аргументы:
c - Контейнер с данными.
Buffer - Цепочка байтов, которую мы ищем в контейнере.
BufferLength - Длина искомого буффера.
Возвращает:
Количество вхождений.
Исключения:
nitro::exception Throws exception with the description of error.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 353

Перекрестные ссылки nitro::exception::code(), GetBuffer(), GetBufferLength(), GetOccuranceCount() и nitro::exception::what().

        {
                try
                {
                        return( GetOccuranceCount( c.GetBuffer() , c.GetBufferLength() , Buffer , BufferLength ) );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::GetOccuranceCount( const BinaryData & c , const char * Buffer , const std::size_t BufferLength )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::GetOccuranceCount( const BinaryData & c , const char * Buffer , const std::size_t BufferLength )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

nitro::BinaryData::operator const char * (  )  const

Функция конвертации в строку.

Возвращает:
Данные в виде строки.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 82

Перекрестные ссылки nitro::exception::code(), GetBuffer() и nitro::exception::what().

        {
                try
                {
                        return( GetBuffer() );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::operator const char * () const::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::operator const char * () const::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

BinaryData nitro::BinaryData::operator= ( const BinaryData Data  ) 

Оператор присваивания.

Аргументы:
Data - Данные, которыми будет инициализирован объект.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 98

Перекрестные ссылки AppendData(), nitro::exception::code(), GetBuffer(), GetBufferLength(), Release() и nitro::exception::what().

        {
                try
                {
                        Release();

                        AppendData( Data.GetBuffer() , Data.GetBufferLength() );

                        return( *this );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::operator=( const BinaryData & Data )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::operator=( const BinaryData & Data )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

void nitro::BinaryData::Release ( void   ) 

Функция удаления хранимых данных.

Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 232

Перекрестные ссылки nitro::exception::code(), Data и nitro::exception::what().

Используется в BinaryData(), operator=() и ~BinaryData().

        {
                try
                {
                        Data.clear();
                        Data.resize( 0 );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::Release( void )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::Release( void )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

void nitro::BinaryData::ReplaceBuffer ( BinaryData c,
const char *  NeedleBuffer,
const std::size_t  NeedleBufferLength,
const char *  Buffer,
const std::size_t  BufferLength 
) [static]

Функция замены части буффера.

Аргументы:
c - Бинарные данные.
NeedleBuffer - Буффер, который будем заменять.
NeedleBufferLength - Длина заменяемого буффера.
Buffer - Новый буффер.
BufferLength - Длина нового буффера.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 392

Перекрестные ссылки nitro::exception::code(), GetFirstOccurance(), ReplaceBuffer() и nitro::exception::what().

        {
                try
                {
                        int                     Cursor( 0 );
                        int                     StartFrom( 0 );

                        for( ; ( Cursor = GetFirstOccurance( c , NeedleBuffer , NeedleBufferLength , StartFrom ) ) != -1 ; )
                        {
                                ReplaceBuffer( c , Cursor , NeedleBufferLength , Buffer , BufferLength );
                                StartFrom = ( int )( Cursor + BufferLength );
                        }
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::ReplaceBuffer( BinaryData & c , const char * NeedleBuffer , const std::size_t NeedleBufferLength , const char * Buffer , const std::size_t BufferLength )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::ReplaceBuffer( BinaryData & c , const char * NeedleBuffer , const std::size_t NeedleBufferLength , const char * Buffer , const std::size_t BufferLength )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

void nitro::BinaryData::ReplaceBuffer ( BinaryData c,
const std::size_t  StartPos,
const std::size_t  ReplaceLength,
const char *  Buffer,
const std::size_t  BufferLength 
) [static]

Функция замены части буффера.

Аргументы:
c - Бинарные данные.
StartPos - Позиция начала заменяемого фрагмента.
ReplaceLength - Длина заменяемого участка.
Buffer - Новый буффер.
BufferLength - Длина нового буффера.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 369

Перекрестные ссылки nitro::exception::code(), Data и nitro::exception::what().

Используется в nitro::INIFile::LoadINIFile(), nitro::CSVFile::ReadRecord(), ReplaceBuffer() и nitro::TemplateEngine::SetVariable().

        {
                try
                {
                        c.Data.erase( c.Data.begin() + StartPos , c.Data.begin() + StartPos + ReplaceLength );

                        std::insert_iterator< std::vector< char > >             InsertIterator( c.Data , c.Data.begin() + StartPos );

                        for( std::size_t i( 0 ) ; i < BufferLength ; i++ )
                        {
                                *InsertIterator = Buffer[ i ];
                        }
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "ReplaceBuffer( BinaryData & c , std::size_t StartPos , std::size_t ReplaceLength , const char * Buffer , const std::size_t BufferLength )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "ReplaceBuffer( BinaryData & c , std::size_t StartPos , std::size_t ReplaceLength , const char * Buffer , const std::size_t BufferLength )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

void nitro::BinaryData::Reserve ( const std::size_t &  theLength  ) 

Функция резервирования памяти.

Аргументы:
theLength - Количество байт памяти, которые будем резервировать.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 249

Перекрестные ссылки nitro::exception::code(), Data и nitro::exception::what().

Используется в nitro::CSVFile::AppendRecord().

        {
                try
                {
                        if( Data.size() < theLength )
                        {
                                Data.reserve( theLength );
                        }
                        Data.resize( 0 );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::Reserve( const std::size_t & theLength )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::Reserve( const std::size_t & theLength )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:

void nitro::BinaryData::SetByte ( std::size_t  BytePos,
char  ByteValue 
)

Функция установки байта в буффере.

Аргументы:
BytePos - Позиция устанавливаемого байта.
ByteValue - Значение устанавливаемого байта.
Исключения:
nitro::exception Кидает исключение с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле binary_data.cpp строка 216

Перекрестные ссылки nitro::exception::code(), Data и nitro::exception::what().

        {
                try
                {
                        Data[ BytePos ] = ByteValue;
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "BinaryData::SetByte( std::size_t BytePos , char ByteValue )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "BinaryData::SetByte( std::size_t BytePos , char ByteValue )::An error occured" ) , 0 ) );
                }
        }

Граф вызовов:


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

std::vector< char > nitro::BinaryData::Data [private]

Буффер бинарных данных.

Автор:
Додонов А.А.

См. определение в файле binary_data.h строка 628

Используется в AppendData(), BinaryData(), GetBuffer(), GetBufferLength(), Release(), ReplaceBuffer(), Reserve() и SetByte().


Объявления и описания членов классов находятся в файлах:

Generated by  doxygen 1.6.1