pars 0.2.1.99
Loading...
Searching...
No Matches
clev::own< wrap_t > Struct Template Reference

#include <own.h>

Inheritance diagram for clev::own< wrap_t >:
Collaboration diagram for clev::own< wrap_t >:

Public Types

using parent = iface<wrap_t>
 

Public Member Functions

 own (const own &rhs) noexcept
 
ownoperator= (const own &rhs) noexcept
 
 own (const own &rhs)=delete
 
ownoperator= (const own &)=delete
 
 own (own &&rhs) noexcept
 
ownoperator= (own &&rhs) noexcept
 
 ~own ()
 

Detailed Description

template<typename wrap_t>
struct clev::own< wrap_t >

Definition at line 39 of file own.h.

Member Typedef Documentation

◆ parent

template<typename wrap_t>
using clev::own< wrap_t >::parent = iface<wrap_t>

Definition at line 41 of file own.h.

Constructor & Destructor Documentation

◆ own() [1/3]

template<typename wrap_t>
clev::own< wrap_t >::own ( const own< wrap_t > & rhs)
inlinenoexcept

Definition at line 45 of file own.h.

46 {
48 }
49 {
50 iface<wrap_t>::copy(&(own::v), rhs.v).or_exit();
51 }

◆ own() [2/3]

template<typename wrap_t>
clev::own< wrap_t >::own ( const own< wrap_t > & rhs)
delete

◆ own() [3/3]

template<typename wrap_t>
clev::own< wrap_t >::own ( own< wrap_t > && rhs)
inlinenoexcept

Definition at line 81 of file own.h.

82 {
83 if (*this)
84 own::destroy(own::v).or_exit();
85
86 own::v = rhs.v;
87
88 rhs.v = own::empty();
89 }

◆ ~own()

template<typename wrap_t>
clev::own< wrap_t >::~own ( )
inline

Definition at line 106 of file own.h.

107 {
108 if (*this)
109 own::destroy(own::v).or_exit();
110 }

Member Function Documentation

◆ operator=() [1/3]

template<typename wrap_t>
own & clev::own< wrap_t >::operator= ( const own< wrap_t > & )
delete

◆ operator=() [2/3]

template<typename wrap_t>
own & clev::own< wrap_t >::operator= ( const own< wrap_t > & rhs)
inlinenoexcept

Definition at line 53 of file own.h.

54 {
56 }
57 {
58 if (this == &rhs)
59 return *this;
60
61 if (*this)
63
64 iface<wrap_t>::copy(&(own::v), rhs.v).or_exit();
65
66 return *this;
67 }

◆ operator=() [3/3]

template<typename wrap_t>
own & clev::own< wrap_t >::operator= ( own< wrap_t > && rhs)
inlinenoexcept

Definition at line 91 of file own.h.

92 {
93 if (this != &rhs)
94 {
95 if (*this)
96 own::destroy(own::v).or_exit();
97
98 own::v = rhs.v;
99
100 rhs.v = own::empty();
101 };
102
103 return *this;
104 }

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