NEURON
neuron::container::data_handle< void > Struct Reference

Explicit specialisation data_handle<void>. More...

#include <data_handle.hpp>

Public Member Functions

 data_handle ()=default
 
 data_handle (void *raw_ptr)
 
 data_handle (do_not_search_t, void *raw_ptr)
 
bool refers_to_a_modern_data_structure () const
 
 operator bool () const
 
 operator void * ()
 
 operator void const * () const
 

Private Attributes

void * m_raw_ptr
 

Friends

struct generic_data_handle
 
struct std::hash< data_handle< void > >
 
std::ostream & operator<< (std::ostream &os, data_handle< void > const &dh)
 
bool operator== (data_handle< void > const &lhs, data_handle< void > const &rhs)
 

Detailed Description

Explicit specialisation data_handle<void>.

This is convenient as it allows void* to be stored in generic_data_handle. The "modern style" data handles that hold a reference to a container and a way of determining an offset into that container do not make sense with a void value type, so this only supports the "legacy" mode where a data handle wraps a plain pointer.

Definition at line 338 of file data_handle.hpp.

Constructor & Destructor Documentation

◆ data_handle() [1/3]

◆ data_handle() [2/3]

neuron::container::data_handle< void >::data_handle ( void *  raw_ptr)
inline

Definition at line 340 of file data_handle.hpp.

◆ data_handle() [3/3]

neuron::container::data_handle< void >::data_handle ( do_not_search_t  ,
void *  raw_ptr 
)
inline

Definition at line 342 of file data_handle.hpp.

Member Function Documentation

◆ operator bool()

neuron::container::data_handle< void >::operator bool ( ) const
inlineexplicit

Definition at line 347 of file data_handle.hpp.

◆ operator void *()

neuron::container::data_handle< void >::operator void * ( )
inlineexplicit

Definition at line 350 of file data_handle.hpp.

◆ operator void const *()

neuron::container::data_handle< void >::operator void const * ( ) const
inlineexplicit

Definition at line 353 of file data_handle.hpp.

◆ refers_to_a_modern_data_structure()

bool neuron::container::data_handle< void >::refers_to_a_modern_data_structure ( ) const
inline

Definition at line 344 of file data_handle.hpp.

Friends And Related Function Documentation

◆ generic_data_handle

friend struct generic_data_handle
friend

Definition at line 364 of file data_handle.hpp.

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
data_handle< void > const &  dh 
)
friend

Definition at line 356 of file data_handle.hpp.

◆ operator==

bool operator== ( data_handle< void > const &  lhs,
data_handle< void > const &  rhs 
)
friend

Definition at line 359 of file data_handle.hpp.

◆ std::hash< data_handle< void > >

friend struct std::hash< data_handle< void > >
friend

Definition at line 364 of file data_handle.hpp.

Member Data Documentation

◆ m_raw_ptr

void* neuron::container::data_handle< void >::m_raw_ptr
private

Definition at line 366 of file data_handle.hpp.


The documentation for this struct was generated from the following file: