A common base for all references, whatever their access privileges. More...
Classes | |
struct | Referenced_buffer |
A descriptor for a buffer in which references can point. More... | |
struct | Referenced_data |
A descriptor for data on which references can point. More... | |
Public Member Functions | |
Datatype_sptr | type () const noexcept |
accesses the type of the referenced raw data | |
size_t | hash () const noexcept |
Protected Member Functions | |
Reference_base () noexcept | |
Constructs a null reference. | |
Reference_base (const Reference_base &)=delete | |
Reference_base (Reference_base &&)=delete | |
Reference_base & | operator= (const Reference_base &)=delete |
Reference_base & | operator= (Reference_base &&)=delete |
Static Protected Member Functions | |
static std::shared_ptr< Referenced_data > | get_content (const Reference_base &other) noexcept |
Function to access the content from a reference with different access right. | |
static Ref | do_copy (Ref_r ref) |
Protected Attributes | |
std::shared_ptr< Referenced_data > | m_content |
Pointer on the data content, can be null if the ref is null. | |
A common base for all references, whatever their access privileges.
This ensure all reference, even with different type because of differing access privileges, can access the content at this level in each other.
|
inlineprotectednoexcept |
Constructs a null reference.
|
protecteddelete |
|
protecteddelete |
|
inlinestaticprotectednoexcept |
Function to access the content from a reference with different access right.
|
protecteddelete |
|
protecteddelete |
|
noexcept |
accesses the type of the referenced raw data
|
inlinenoexcept |
|
mutableprotected |
Pointer on the data content, can be null if the ref is null.