#include <utilities/pointer.h>
Базовые классы:nitro::PointerInterface.
Открытые члены | |
| Pointer (void) | |
| Pointer (std::size_t theItemCount) | |
| Pointer (const Pointer< stored_type, memory_handler > &Ptr) | |
| Pointer< stored_type, memory_handler > | operator= (const Pointer< stored_type, memory_handler > &Ptr) |
| stored_type & | operator[] (std::size_t i) |
| stored_type * | GetBuffer (void) |
| std::size_t | GetBufferSize (void) const |
| virtual void | Allocate (std::size_t theItemCount) |
| virtual void | Release (void) |
| virtual | ~Pointer () |
Закрытые данные | |
| stored_type * | StoredData |
Классс указателя.
См. определение в файле pointer.h строка 20
| nitro::Pointer< stored_type, memory_handler >::Pointer | ( | void | ) |
| nitro::Pointer< stored_type, memory_handler >::Pointer | ( | std::size_t | theItemCount | ) |
Коснтруктор.
| theItemCount | - Количество элементов, под которые будут выделяться данные. |
См. определение в файле pointer.h строка 217
Перекрестные ссылки nitro::Pointer< stored_type, memory_handler >::Allocate().
{
Allocate( theItemCount );
}

| nitro::Pointer< stored_type, memory_handler >::Pointer | ( | const Pointer< stored_type, memory_handler > & | Ptr | ) |
Закрытый конструктор копирования.
| Ptr | - Копируемый указатель. |
См. определение в файле pointer.h строка 222
Перекрестные ссылки nitro::PointerInterface::ItemCount, nitro::Pointer< stored_type, memory_handler >::StoredData и nitro::exception::what().
{
try
{
// const_cast
memory_handler->Copy( StoredData , const_cast< char * >( Ptr.StoredData ) );
ItemCount = Ptr.ItemCount;
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "Pointer< stored_type , memory_handler >::Pointer( const Pointer< stored_type , memory_handler > & Ptr )::" ) + e.what() , 0 ) );
}
catch( ... )
{
throw( nitro::exception( std::string( "Pointer< stored_type , memory_handler >::Pointer( const Pointer< stored_type , memory_handler > & Ptr )::An error occured while getting data from pointer" ) , 0 ) );
}
}

| nitro::Pointer< stored_type, memory_handler >::~Pointer | ( | ) | [virtual] |
Деструктор.
См. определение в файле pointer.h строка 352
Перекрестные ссылки nitro::Pointer< stored_type, memory_handler >::Release().
{
try
{
Release();
}
catch( nitro::exception e )
{
}
catch( ... )
{
}
}

| void nitro::Pointer< stored_type, memory_handler >::Allocate | ( | std::size_t | theItemCount | ) | [virtual] |
Функция выделения памяти для theItemCount элементов.
| theItemCount | - Количество элементов, под которые будут выделяться данные. |
| nitro::exception | Кидается исключение этого типа с описанием ошибки. |
Замещает nitro::PointerInterface.
См. определение в файле pointer.h строка 309
Перекрестные ссылки nitro::PointerInterface::ItemCount, nitro::Pointer< stored_type, memory_handler >::Release(), nitro::Pointer< stored_type, memory_handler >::StoredData и nitro::exception::what().
Используется в nitro::Pointer< stored_type, memory_handler >::Pointer().
{
try
{
Release();
StoredData = memory_handler->Allocate< stored_type >( this , theItemCount );
ItemCount = theItemCount;
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "Pointer< stored_type , memory_handler >::Allocate( std::size_t theItemCount )::" ) + e.what() , 0 ) );
}
catch( ... )
{
throw( nitro::exception( std::string( "Pointer< stored_type , memory_handler >::Allocate( std::size_t theItemCount )::An error occured while getting data from pointer" ) , 0 ) );
}
}

| stored_type * nitro::Pointer< stored_type, memory_handler >::GetBuffer | ( | void | ) |
Функция предоставляет доступ к хранимым данным.
| nitro::exception | Кидается исключение этого типа с описанием ошибки. |
См. определение в файле pointer.h строка 277
Перекрестные ссылки nitro::Pointer< stored_type, memory_handler >::StoredData и nitro::exception::what().
{
try
{
return( StoredData );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "Pointer< stored_type , memory_handler >::GetBuffer( void )::" ) + e.what() , 0 ) );
}
catch( ... )
{
throw( nitro::exception( std::string( "Pointer< stored_type , memory_handler >::GetBuffer( void )::An error occured while getting data from pointer" ) , 0 ) );
}
}

| std::size_t nitro::Pointer< stored_type, memory_handler >::GetBufferSize | ( | void | ) | const |
Функция возвращает размер хранимых данных.
| nitro::exception | Кидается исключение этого типа с описанием ошибки. |
См. определение в файле pointer.h строка 293
Перекрестные ссылки nitro::PointerInterface::ItemCount и nitro::exception::what().
{
try
{
return( sizeof( stored_type ) * ItemCount );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "Pointer< stored_type , memory_handler >GetBufferSize( void ) const::" ) + e.what() , 0 ) );
}
catch( ... )
{
throw( nitro::exception( std::string( "Pointer< stored_type , memory_handler >GetBufferSize( void ) const::An error occured while getting data from pointer" ) , 0 ) );
}
}

| Pointer< stored_type, memory_handler > nitro::Pointer< stored_type, memory_handler >::operator= | ( | const Pointer< stored_type, memory_handler > & | Ptr | ) |
Закрытый оператор присваиввания.
| Ptr | - Копируемый указатель. |
См. определение в файле pointer.h строка 241
Перекрестные ссылки nitro::PointerInterface::ItemCount, nitro::Pointer< stored_type, memory_handler >::StoredData и nitro::exception::what().
{
try
{
memory_handler->Copy( StoredData , const_cast< char * >( Ptr.StoredData ) );
ItemCount = Ptr.ItemCount;
return( * this );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "Pointer< stored_type , memory_handler >::operator=( const Pointer< stored_type , memory_handler > & Ptr )::" ) + e.what() , 0 ) );
}
catch( ... )
{
throw( nitro::exception( std::string( "Pointer< stored_type , memory_handler >::operator=( const Pointer< stored_type , memory_handler > & Ptr )::An error occured while getting data from pointer" ) , 0 ) );
}
}

| stored_type & nitro::Pointer< stored_type, memory_handler >::operator[] | ( | std::size_t | i | ) |
Оператор предоставляет доступ к хранимым данным.
| i | - Курсор элемента. |
| nitro::exception | Кидается исключение этого типа с описанием ошибки. |
См. определение в файле pointer.h строка 261
Перекрестные ссылки nitro::Pointer< stored_type, memory_handler >::StoredData и nitro::exception::what().
{
try
{
return( StoredData[ i ] );
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "Pointer< stored_type , memory_handler >::operator[]( std::size_t i )::" ) + e.what() , 0 ) );
}
catch( ... )
{
throw( nitro::exception( std::string( "Pointer< stored_type , memory_handler >::operator[]( std::size_t i )::An error occured while getting data from pointer" ) , 0 ) );
}
}

| void nitro::Pointer< stored_type, memory_handler >::Release | ( | void | ) | [virtual] |
Функция освобождения всей выделенной памяти.
| nitro::exception | - Кидается исключение этого типа с описанием ошибки. |
Замещает nitro::PointerInterface.
См. определение в файле pointer.h строка 329
Перекрестные ссылки nitro::PointerInterface::ItemCount, nitro::Pointer< stored_type, memory_handler >::StoredData и nitro::exception::what().
Используется в nitro::Pointer< stored_type, memory_handler >::Allocate() и nitro::Pointer< stored_type, memory_handler >::~Pointer().
{
try
{
if( StoredData )
{
memory_handler->Deallocate( StoredData );
StoredData = NULL;
ItemCount = NULL;
}
}
catch( nitro::exception e )
{
throw( nitro::exception( std::string( "Pointer< stored_type , memory_handler >::Release( void )::" ) + e.what() , 0 ) );
}
catch( ... )
{
throw( nitro::exception( std::string( "Pointer< stored_type , memory_handler >::Release( void )::An error occured while getting data from pointer" ) , 0 ) );
}
}

stored_type* nitro::Pointer< stored_type, memory_handler >::StoredData [private] |
Указатель на хранимые данные.
См. определение в файле pointer.h строка 209
Используется в nitro::Pointer< stored_type, memory_handler >::Allocate(), nitro::Pointer< stored_type, memory_handler >::GetBuffer(), nitro::Pointer< stored_type, memory_handler >::operator=(), nitro::Pointer< stored_type, memory_handler >::operator[](), nitro::Pointer< stored_type, memory_handler >::Pointer() и nitro::Pointer< stored_type, memory_handler >::Release().
1.6.1