Cuda battery library
Loading...
Searching...
No Matches
battery::root_ptr< T, Allocator > Class Template Reference

#include <root_ptr.hpp>

Public Types

using element_type = T
 
using pointer = T*
 
using allocator_type = Allocator
 
using this_type = root_ptr<element_type, allocator_type>
 

Public Member Functions

CUDA root_ptr (const allocator_type &allocator=allocator_type())
 
CUDA root_ptr (std::nullptr_t, const allocator_type &allocator=allocator_type())
 
CUDA root_ptr (pointer ptr, const allocator_type &allocator=allocator_type())
 
CUDA root_ptr (this_type &&from)
 
template<class U >
CUDA root_ptr (root_ptr< U, Allocator > &&from)
 
CUDA root_ptr (const this_type &other)
 
CUDA NI ~root_ptr ()
 
CUDA void swap (root_ptr &other)
 
CUDA root_ptroperator= (root_ptr &&r)
 
CUDA root_ptroperator= (const root_ptr &r)
 
template<class U >
CUDA root_ptroperator= (root_ptr< U, Allocator > &&r)
 
CUDA root_ptroperator= (std::nullptr_t)
 
CUDA pointer release ()
 
CUDA void reset (pointer ptr=pointer())
 
CUDA pointer get () const
 
CUDA allocator_type get_allocator () const
 
CUDA bool is_root () const
 
CUDA operator bool () const
 
CUDA T & operator* () const
 
CUDA pointer operator-> () const
 

Friends

template<class U , class Alloc >
class root_ptr
 

Member Typedef Documentation

◆ element_type

template<class T , class Allocator = standard_allocator>
using battery::root_ptr< T, Allocator >::element_type = T

◆ pointer

template<class T , class Allocator = standard_allocator>
using battery::root_ptr< T, Allocator >::pointer = T*

◆ allocator_type

template<class T , class Allocator = standard_allocator>
using battery::root_ptr< T, Allocator >::allocator_type = Allocator

◆ this_type

template<class T , class Allocator = standard_allocator>
using battery::root_ptr< T, Allocator >::this_type = root_ptr<element_type, allocator_type>

Constructor & Destructor Documentation

◆ root_ptr() [1/6]

template<class T , class Allocator = standard_allocator>
CUDA battery::root_ptr< T, Allocator >::root_ptr ( const allocator_type & allocator = allocator_type())
inline

◆ root_ptr() [2/6]

template<class T , class Allocator = standard_allocator>
CUDA battery::root_ptr< T, Allocator >::root_ptr ( std::nullptr_t ,
const allocator_type & allocator = allocator_type() )
inline

◆ root_ptr() [3/6]

template<class T , class Allocator = standard_allocator>
CUDA battery::root_ptr< T, Allocator >::root_ptr ( pointer ptr,
const allocator_type & allocator = allocator_type() )
inlineexplicit

◆ root_ptr() [4/6]

template<class T , class Allocator = standard_allocator>
CUDA battery::root_ptr< T, Allocator >::root_ptr ( this_type && from)
inline

◆ root_ptr() [5/6]

template<class T , class Allocator = standard_allocator>
template<class U >
CUDA battery::root_ptr< T, Allocator >::root_ptr ( root_ptr< U, Allocator > && from)
inline

◆ root_ptr() [6/6]

template<class T , class Allocator = standard_allocator>
CUDA battery::root_ptr< T, Allocator >::root_ptr ( const this_type & other)
inline

◆ ~root_ptr()

template<class T , class Allocator = standard_allocator>
CUDA NI battery::root_ptr< T, Allocator >::~root_ptr ( )
inline

Member Function Documentation

◆ swap()

template<class T , class Allocator = standard_allocator>
CUDA void battery::root_ptr< T, Allocator >::swap ( root_ptr< T, Allocator > & other)
inline

◆ operator=() [1/4]

template<class T , class Allocator = standard_allocator>
CUDA root_ptr & battery::root_ptr< T, Allocator >::operator= ( root_ptr< T, Allocator > && r)
inline

◆ operator=() [2/4]

template<class T , class Allocator = standard_allocator>
CUDA root_ptr & battery::root_ptr< T, Allocator >::operator= ( const root_ptr< T, Allocator > & r)
inline

◆ operator=() [3/4]

template<class T , class Allocator = standard_allocator>
template<class U >
CUDA root_ptr & battery::root_ptr< T, Allocator >::operator= ( root_ptr< U, Allocator > && r)
inline

◆ operator=() [4/4]

template<class T , class Allocator = standard_allocator>
CUDA root_ptr & battery::root_ptr< T, Allocator >::operator= ( std::nullptr_t )
inline

◆ release()

template<class T , class Allocator = standard_allocator>
CUDA pointer battery::root_ptr< T, Allocator >::release ( )
inline

◆ reset()

template<class T , class Allocator = standard_allocator>
CUDA void battery::root_ptr< T, Allocator >::reset ( pointer ptr = pointer())
inline

◆ get()

template<class T , class Allocator = standard_allocator>
CUDA pointer battery::root_ptr< T, Allocator >::get ( ) const
inline

◆ get_allocator()

template<class T , class Allocator = standard_allocator>
CUDA allocator_type battery::root_ptr< T, Allocator >::get_allocator ( ) const
inline

◆ is_root()

template<class T , class Allocator = standard_allocator>
CUDA bool battery::root_ptr< T, Allocator >::is_root ( ) const
inline

◆ operator bool()

template<class T , class Allocator = standard_allocator>
CUDA battery::root_ptr< T, Allocator >::operator bool ( ) const
inlineexplicit

◆ operator*()

template<class T , class Allocator = standard_allocator>
CUDA T & battery::root_ptr< T, Allocator >::operator* ( ) const
inline

◆ operator->()

template<class T , class Allocator = standard_allocator>
CUDA pointer battery::root_ptr< T, Allocator >::operator-> ( ) const
inline

Friends And Related Symbol Documentation

◆ root_ptr

template<class T , class Allocator = standard_allocator>
template<class U , class Alloc >
friend class root_ptr
friend

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