Mirror reflection library 0.5.13
|
Definition of raw_ptr class for safer working with untyped pointers. More...
#include <cstdlib>
#include <memory>
#include <mirror/config.hpp>
#include <mirror/meta_prog/identity.hpp>
#include <mirror/raw_ptr/auditor.hpp>
#include <mirror/raw_ptr/type_info_cmp.hpp>
#include <exception>
Go to the source code of this file.
Classes | |
class | mirror::raw_ptr_templ< Auditor, BadCastPolicy, BasePtrType > |
Raw pointer template using a custom type comparator and a bad cast policy. More... | |
Namespaces | |
namespace | mirror |
All Mirror's types, classes, functions, etc. are defined in this namespace. | |
Typedefs | |
typedef aux::type_info_cmp | mirror::default_type_cmp |
typedef aux::abort_at_bad_cast_policy | mirror::default_bad_cast_policy |
typedef raw_ptr_templ < aux::ptr_cast_auditor < default_type_cmp > , default_bad_cast_policy, void * > | mirror::raw_ptr |
The basic raw pointer type. | |
typedef raw_ptr_templ < aux::ptr_cast_auditor < default_type_cmp > , default_bad_cast_policy, std::shared_ptr< void >> | mirror::shared_raw_ptr |
Raw pointer type with shared-ownership. | |
typedef raw_ptr_templ < aux::ptr_cast_auditor < default_type_cmp > , default_bad_cast_policy, std::unique_ptr< void >> | mirror::unique_raw_ptr |
Raw pointer type with unique-ownership. | |
Functions | |
template<typename T , class Auditor , class BadCastPolicy , typename BasePtrType > | |
T | mirror::raw_cast (raw_ptr_templ< Auditor, BadCastPolicy, BasePtrType > &a_ptr) |
template<typename T , class Auditor , class BadCastPolicy , typename BasePtrType > | |
T | mirror::raw_cast (const raw_ptr_templ< Auditor, BadCastPolicy, BasePtrType > &a_ptr) |
template<typename T , class Auditor , class BadCastPolicy , typename BasePtrType > | |
T | mirror::raw_cast (raw_ptr_templ< Auditor, BadCastPolicy, BasePtrType > &&a_ptr) |
Definition of raw_ptr class for safer working with untyped pointers.
Copyright 2007-2010 Matus Chochlik. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)