Является парным к классу GenericRefPtr и предназначен для хранения указателя на объект с подсчетом ссылок, который в будующем потребуется преобразовать в обобщенный ссылочный указатель.
При присвоении ему значения изменения счетчика ссылок не производится, однако, если обобщенный не ссылочный указатель присвоить обобщенному ссылочному, то кол-во ссылок на объект изменится (см. класс GenericRefPtr).
Пример:
Class1::Ptr p = new Class1; ... GenericNoRefPtr gnp = p; ... { GenericRefPtr gp = gnp; // Увеличение кол-ва ссылок на объект типа Class1 , созданный вначале. ... } // В деструкторе gp происходит уменьшение кол-ва ссылок на объект.
Данный класс наследует BasicGenericRefPtr, в котором определены основные операции над обобщенным ссылочным указателем.
Данный класс не обеспечивает полную многопоточность. Операция присвоения нового значения требует внешней синхронизации, при условии, что существует возможность того, что в момент присвоения источнику тоже может быть присвоено значение.
См. определение в файле GenericNoRefPtr.h строка 44
Открытые члены | |
GenericNoRefPtr () | |
Конструктор по умолчанию. | |
template<typename T> | |
GenericNoRefPtr (T *Src) | |
Конструктор инициализации из обычного указателя. | |
template<typename T> | |
GenericNoRefPtr (const RefPtr< T > &Src) | |
Конструктор инициализации из ссылочного указателя. | |
GenericNoRefPtr (const BasicGenericRefPtr &Src) | |
Конструктор копирования. |
Cntm::GenericNoRefPtr::GenericNoRefPtr | ( | ) | [inline] |
Конструктор по умолчанию.
Инициализирует указатель NULL.
См. определение в файле GenericNoRefPtr.h строка 51
Cntm::GenericNoRefPtr::GenericNoRefPtr | ( | T * | Src | ) | [inline] |
Конструктор инициализации из обычного указателя.
См. определение в файле GenericNoRefPtr.h строка 57
Cntm::GenericNoRefPtr::GenericNoRefPtr | ( | const RefPtr< T > & | Src | ) | [inline] |
Конструктор инициализации из ссылочного указателя.
См. определение в файле GenericNoRefPtr.h строка 63
Cntm::GenericNoRefPtr::GenericNoRefPtr | ( | const BasicGenericRefPtr & | Src | ) | [inline] |
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой 1.5.3 |