#include <smart_ref_3/h/declspec.hpp>
Пространства имен | |
namespace | smart_ref_3 |
Макросы | |
#define | _SMART_REF_3__SMART_REF_HPP_ |
#define | SMART_REF_3_DECL_REF_FULL(type, ref_type, ref_type_decl_start) |
#define | SMART_REF_3_DECL_DERIVED_REF_FULL(type, base_ref_type, ref_type, ref_type_decl_start) |
#define | SMART_REF_3_IMPL_REF_FULL(type, ref_type) |
#define | SMART_REF_3_IMPL_DERIVED_REF_FULL(type, base_ref_type, ref_type) |
#define | SMART_REF_3_DECL_REF(type, ref_type_decl_start) SMART_REF_3_DECL_REF_FULL(type, ref_##type, ref_type_decl_start) |
Декларация класса умной ссылки. | |
#define | SMART_REF_3_IMPL_REF(type) SMART_REF_3_IMPL_REF_FULL(type, ref_##type) |
Реализация типа, описанного с помощью макроса SMART_REF_3_DECL_REF(). | |
#define | SMART_REF_3_DECL_DERIVED_REF(type, base_type, ref_type_decl_start) |
Декларация класса умной ссылки, производного от другого класса умной ссылки. | |
#define | SMART_REF_3_IMPL_DERIVED_REF(type, base_type) SMART_REF_3_IMPL_DERIVED_REF_FULL(type, ref_##base_type, ref_##type) |
Реализация типа, построенного с имспользованием макроса SMART_REF_3_DECL_DERIVED_REF(). |
|
Макроопределение: Декларация класса умной ссылки, производного от другого класса умной ссылки. Предназначен для случаев, когда есть иерархия типов для которой нужно построить аналогичную иерархию ссылочных типов. Тогда производные ссылки можно передавать в функции, ожидающие ссылки на базовые типы. Например:
Для типа с именем B и базовым типом A строит следующее описание:
|
|
Макроопределение:
|
|
Декларация класса умной ссылки. Для типа с именем A строит следующее описание:
|
|
Макроопределение:
|