RISA
glados::pitched_ptr< T, CopyPolicy, is3D, Ptr > Class Template Reference

#include <Memory.h>

Inheritance diagram for glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >:
Collaboration diagram for glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >:

Public Types

using pointer = typename base::pointer
 
using element_type = typename base::element_type
 
using deleter_type = typename base::deleter_type
 
using underlying_type = typename base::underlying_type
 
- Public Types inherited from glados::base_ptr< T, CopyPolicy, Ptr >
using pointer = typename Ptr::pointer
 
using element_type = typename Ptr::element_type
 
using deleter_type = typename Ptr::deleter_type
 
using underlying_type = Ptr
 

Public Member Functions

constexpr pitched_ptr () noexcept
 
constexpr pitched_ptr (std::nullptr_t p) noexcept
 
 pitched_ptr (Ptr ptr, std::size_t p, std::uint32_t w, std::uint32_t h, std::uint32_t d=0) noexcept
 
 pitched_ptr (pitched_ptr &&other) noexcept
 
 ~pitched_ptr ()=default
 
auto operator= (pitched_ptr &&r) noexcept-> pitched_ptr &
 
auto pitch () const noexcept-> std::size_t
 
auto width () const noexcept-> std::size_t
 
auto height () const noexcept-> std::size_t
 
auto depth () const noexcept-> std::size_t
 
- Public Member Functions inherited from glados::base_ptr< T, CopyPolicy, Ptr >
constexpr base_ptr () noexcept
 
constexpr base_ptr (std::nullptr_t p) noexcept
 
 base_ptr (Ptr ptr) noexcept
 
 base_ptr (base_ptr &&other) noexcept
 
 ~base_ptr ()=default
 
auto operator= (base_ptr &&r) noexcept-> base_ptr &
 
auto release () noexcept-> pointer
 
auto reset (pointer ptr=pointer()) noexcept-> void
 
template<class U >
auto reset (U) noexcept-> void=delete
 
auto reset (std::nullptr_t p) noexcept-> void
 
auto swap (base_ptr &other) noexcept-> void
 
auto get () const noexcept-> pointer
 
auto get_deleter () noexcept-> deleter_type
 
auto get_deleter () const noexcept-> const deleter_type
 
 operator bool () const noexcept
 
auto operator[] (std::size_t i) const -> element_type &
 
const Ptr & get_underlying () const noexcept
 

Static Public Attributes

static constexpr auto has_pitch = true
 
static constexpr auto is3DPtr = is3D::value
 

Private Types

using base = base_ptr< T, CopyPolicy, Ptr >
 

Private Member Functions

 pitched_ptr (const pitched_ptr &)=delete
 
auto operator= (const pitched_ptr &) -> pitched_ptr &=delete
 

Private Attributes

std::size_t pitch_
 
std::size_t width_
 
std::size_t height_
 
std::size_t depth_
 

Additional Inherited Members

- Protected Member Functions inherited from glados::base_ptr< T, CopyPolicy, Ptr >
template<class Dest , class Src , class... Args>
auto copy (Dest &dest, const Src &src, Args...args) -> void
 
- Protected Attributes inherited from glados::base_ptr< T, CopyPolicy, Ptr >
Ptr ptr_
 

Detailed Description

template<class T, class CopyPolicy, class is3D, class Ptr>
class glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >

Definition at line 193 of file Memory.h.

Member Typedef Documentation

template<class T , class CopyPolicy , class is3D , class Ptr >
using glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::base = base_ptr<T, CopyPolicy, Ptr>
private

Definition at line 196 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
using glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::deleter_type = typename base::deleter_type

Definition at line 201 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
using glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::element_type = typename base::element_type

Definition at line 200 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
using glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::pointer = typename base::pointer

Definition at line 199 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
using glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::underlying_type = typename base::underlying_type

Definition at line 202 of file Memory.h.

Constructor & Destructor Documentation

template<class T , class CopyPolicy , class is3D , class Ptr >
constexpr glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::pitched_ptr ( )
inlinenoexcept

Definition at line 208 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
constexpr glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::pitched_ptr ( std::nullptr_t  p)
inlinenoexcept

Definition at line 213 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::pitched_ptr ( Ptr  ptr,
std::size_t  p,
std::uint32_t  w,
std::uint32_t  h,
std::uint32_t  d = 0 
)
inlinenoexcept

Definition at line 218 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::pitched_ptr ( pitched_ptr< T, CopyPolicy, is3D, Ptr > &&  other)
inlinenoexcept

Definition at line 223 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::~pitched_ptr ( )
default
template<class T , class CopyPolicy , class is3D , class Ptr >
glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::pitched_ptr ( const pitched_ptr< T, CopyPolicy, is3D, Ptr > &  )
privatedelete

Member Function Documentation

template<class T , class CopyPolicy , class is3D , class Ptr >
auto glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::depth ( ) const -> std::size_t
inlinenoexcept

Definition at line 244 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
auto glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::height ( ) const -> std::size_t
inlinenoexcept

Definition at line 243 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
auto glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::operator= ( pitched_ptr< T, CopyPolicy, is3D, Ptr > &&  r) -> pitched_ptr&
inlinenoexcept

Definition at line 230 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
auto glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::operator= ( const pitched_ptr< T, CopyPolicy, is3D, Ptr > &  ) -> pitched_ptr &=delete
privatedelete
template<class T , class CopyPolicy , class is3D , class Ptr >
auto glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::pitch ( ) const -> std::size_t
inlinenoexcept

Definition at line 241 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
auto glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::width ( ) const -> std::size_t
inlinenoexcept

Definition at line 242 of file Memory.h.

Member Data Documentation

template<class T , class CopyPolicy , class is3D , class Ptr >
std::size_t glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::depth_
private

Definition at line 254 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
constexpr auto glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::has_pitch = true
static

Definition at line 204 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
std::size_t glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::height_
private

Definition at line 253 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
constexpr auto glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::is3DPtr = is3D::value
static

Definition at line 205 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
std::size_t glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::pitch_
private

Definition at line 251 of file Memory.h.

template<class T , class CopyPolicy , class is3D , class Ptr >
std::size_t glados::pitched_ptr< T, CopyPolicy, is3D, Ptr >::width_
private

Definition at line 252 of file Memory.h.


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