#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().