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

Шаблон класса nitro::LocalObjectManager< managing_class >

Класс для хранения объектов. Подробнее...

#include <managers/object_manager.h>

Базовые классы:nitro::ObjectManagerBasic< managing_class >.

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

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

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

void CreateObject (const std::string &ObjectName)
void CreateObject (const char *ObjectName)
virtual void Release (void)
virtual ~LocalObjectManager ()

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

template<class managing_class>
class nitro::LocalObjectManager< managing_class >

Класс для хранения объектов.

Заметки:
Класс сам создаёт объекты и сам их удаляет.
Автор:
Додонов А.А.

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


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

template<class managing_class >
nitro::LocalObjectManager< managing_class >::~LocalObjectManager (  )  [virtual]

Деструктор.

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

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

Перекрестные ссылки nitro::LocalObjectManager< managing_class >::Release().

        {
                try
                {
                        ObjectManagerBasic< managing_class >::Release();
                }
                catch( ... )
                {
                }
        }

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


Методы

template<class managing_class >
void nitro::LocalObjectManager< managing_class >::CreateObject ( const std::string &  ObjectName  ) 

Функция создания нового объекта.

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

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

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

        {
                try
                {
                        ObjectManagerBasic< managing_class >::Objects.push_back( 
                                std::pair< std::string , managing_class * >( ObjectName , new managing_class() )
                        );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "LocalObjectManager< managing_class >::CreateObject( const std::string & ObjectName )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "LocalObjectManager< managing_class >::CreateObject( const std::string & ObjectName )::An error occured" ) , 1 ) );
                }
        }

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

template<class managing_class >
void nitro::LocalObjectManager< managing_class >::CreateObject ( const char *  ObjectName  ) 

Функция создания нового объекта.

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

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

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

        {
                try
                {
                        ObjectManagerBasic< managing_class >::Objects.push_back( 
                                std::pair< std::string , managing_class * >( ObjectName , new managing_class() )
                        );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "LocalObjectManager< managing_class >::CreateObject( const char * ObjectName )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "LocalObjectManager< managing_class >::CreateObject( const char * ObjectName )::An error occured" ) , 1 ) );
                }
        }

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

template<class managing_class >
void nitro::LocalObjectManager< managing_class >::Release ( void   )  [virtual]

Функция для удаления созданных объектов.

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

Переопределяет метод предка nitro::ObjectManagerBasic< managing_class >.

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

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

Используется в nitro::LocalObjectManager< managing_class >::~LocalObjectManager().

        {
                try
                {
                        for( std::size_t i( 0 ) ; i < ObjectManagerBasic< managing_class >::Objects.size() ; i++ )
                        {
                                delete ObjectManagerBasic< managing_class >::Objects[ i ];
                        }

                        ObjectManagerBasic< managing_class >::Objects.erase( ObjectManagerBasic< managing_class >::Objects.begin(), ObjectManagerBasic< managing_class >::Objects.end() );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "ObjectManagerBasic< managing_class >::Release( void )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "ObjectManagerBasic< managing_class >::Release( void )::An error occured" ) , 1 ) );
                }
        }

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


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

Generated by  doxygen 1.6.1