C++ Library Extensions 2022.12.09
To help learn modern C++ programming
DummyClass< ElementType > Class Template Reference

Public Types

enum class  Operation : int { as_const_lvalue_ref , as_lvalue_ref , as_move }
 
using uptr_t = std::unique_ptr< int >
 
using uptr_t = std::unique_ptr< ElementType >
 
using lref_uptr_t = std::unique_ptr< ElementType > &
 
using const_lref_uptr_t = const std::unique_ptr< ElementType > &
 
using rref_uptr_t = std::unique_ptr< ElementType > &&
 

Public Member Functions

 DummyClass (int value=0)
 
const std::unique_ptr< int > & return_unique_ptr_reference ()
 
std::unique_ptr< int > return_unique_ptr_of_member_data ()
 
std::unique_ptr< int > return_unique_ptr (int value)
 
 DummyClass (int value=0)
 
template<auto Opr = Operation::as_const_lvalue_ref>
decltype(auto) get_member ()
 
 DummyClass (int value=0)
 
std::unique_ptr< int > return_as_rvalue ()
 
std::unique_ptr< int > && return_as_rvalue_reference ()
 
auto return_as_rvalue_with_auto ()
 
auto && return_as_rvalue_reference_with_auto ()
 
std::unique_ptr< int > && return_local_variable ()
 
std::unique_ptr< int > return_local_unique_ptr_properly ()
 
 DummyClass (ElementType value=ElementType{})
 
template<typename Type = const_lref_uptr_t>
Type get_member ()
 
 DummyClass (int value=0)
 
int sum (int a, int b)
 
int pro (int a, int b)
 
double square (double v)
 
 DummyClass (int value)
 
int sum (int a, int b)
 
int pro (int a, int b)
 

Public Attributes

std::unique_ptr< int > m_ptr
 
uptr_t m_member
 

Detailed Description

template<typename ElementType>
class DummyClass< ElementType >

Definition at line 37 of file 02-unique_ptr.cpp.

Member Typedef Documentation

◆ const_lref_uptr_t

template<typename ElementType >
using DummyClass< ElementType >::const_lref_uptr_t = const std::unique_ptr<ElementType>&

Definition at line 12 of file 05-unique_ptr.cpp.

◆ lref_uptr_t

template<typename ElementType >
using DummyClass< ElementType >::lref_uptr_t = std::unique_ptr<ElementType>&

Definition at line 11 of file 05-unique_ptr.cpp.

◆ rref_uptr_t

template<typename ElementType >
using DummyClass< ElementType >::rref_uptr_t = std::unique_ptr<ElementType>&&

Definition at line 13 of file 05-unique_ptr.cpp.

◆ uptr_t [1/2]

template<typename ElementType >
using DummyClass< ElementType >::uptr_t = std::unique_ptr<int>

Definition at line 34 of file 04-unique_ptr.cpp.

◆ uptr_t [2/2]

template<typename ElementType >
using DummyClass< ElementType >::uptr_t = std::unique_ptr<ElementType>

Definition at line 10 of file 05-unique_ptr.cpp.

Member Enumeration Documentation

◆ Operation

template<typename ElementType >
enum class DummyClass::Operation : int
strong
Enumerator
as_const_lvalue_ref 
as_lvalue_ref 
as_move 

Definition at line 9 of file 03-unique_ptr.cpp.

Constructor & Destructor Documentation

◆ DummyClass() [1/6]

template<typename ElementType >
DummyClass< ElementType >::DummyClass ( int  value = 0)
inline

Definition at line 44 of file 02-unique_ptr.cpp.

◆ DummyClass() [2/6]

template<typename ElementType >
DummyClass< ElementType >::DummyClass ( int  value = 0)
inline

Definition at line 15 of file 03-unique_ptr.cpp.

◆ DummyClass() [3/6]

template<typename ElementType >
DummyClass< ElementType >::DummyClass ( int  value = 0)
inline

Definition at line 40 of file 04-unique_ptr.cpp.

◆ DummyClass() [4/6]

template<typename ElementType >
DummyClass< ElementType >::DummyClass ( ElementType  value = ElementType{})
inline

Definition at line 19 of file 05-unique_ptr.cpp.

◆ DummyClass() [5/6]

template<typename ElementType >
DummyClass< ElementType >::DummyClass ( int  value = 0)
inline

Definition at line 57 of file 09-functor.cpp.

◆ DummyClass() [6/6]

template<typename ElementType >
DummyClass< ElementType >::DummyClass ( int  value)
inline

Definition at line 34 of file 10-mem_fn.cpp.

Member Function Documentation

◆ get_member() [1/2]

template<typename ElementType >
template<auto Opr = Operation::as_const_lvalue_ref>
decltype(auto) DummyClass< ElementType >::get_member ( )
inline

Definition at line 23 of file 03-unique_ptr.cpp.

Here is the caller graph for this function:

◆ get_member() [2/2]

template<typename ElementType >
template<typename Type = const_lref_uptr_t>
Type DummyClass< ElementType >::get_member ( )
inline

Definition at line 26 of file 05-unique_ptr.cpp.

◆ pro() [1/2]

template<typename ElementType >
int DummyClass< ElementType >::pro ( int  a,
int  b 
)
inline

Definition at line 65 of file 09-functor.cpp.

Here is the caller graph for this function:

◆ pro() [2/2]

template<typename ElementType >
int DummyClass< ElementType >::pro ( int  a,
int  b 
)
inline

Definition at line 41 of file 10-mem_fn.cpp.

◆ return_as_rvalue()

template<typename ElementType >
std::unique_ptr< int > DummyClass< ElementType >::return_as_rvalue ( )
inline

Definition at line 45 of file 04-unique_ptr.cpp.

◆ return_as_rvalue_reference()

template<typename ElementType >
std::unique_ptr< int > && DummyClass< ElementType >::return_as_rvalue_reference ( )
inline

Definition at line 53 of file 04-unique_ptr.cpp.

Here is the caller graph for this function:

◆ return_as_rvalue_reference_with_auto()

template<typename ElementType >
auto && DummyClass< ElementType >::return_as_rvalue_reference_with_auto ( )
inline

Definition at line 73 of file 04-unique_ptr.cpp.

◆ return_as_rvalue_with_auto()

template<typename ElementType >
auto DummyClass< ElementType >::return_as_rvalue_with_auto ( )
inline

Definition at line 65 of file 04-unique_ptr.cpp.

◆ return_local_unique_ptr_properly()

template<typename ElementType >
std::unique_ptr< int > DummyClass< ElementType >::return_local_unique_ptr_properly ( )
inline

Definition at line 98 of file 04-unique_ptr.cpp.

Here is the caller graph for this function:

◆ return_local_variable()

template<typename ElementType >
std::unique_ptr< int > && DummyClass< ElementType >::return_local_variable ( )
inline

Definition at line 85 of file 04-unique_ptr.cpp.

Here is the caller graph for this function:

◆ return_unique_ptr()

template<typename ElementType >
std::unique_ptr< int > DummyClass< ElementType >::return_unique_ptr ( int  value)
inline

Definition at line 72 of file 02-unique_ptr.cpp.

Here is the caller graph for this function:

◆ return_unique_ptr_of_member_data()

template<typename ElementType >
std::unique_ptr< int > DummyClass< ElementType >::return_unique_ptr_of_member_data ( )
inline

Definition at line 56 of file 02-unique_ptr.cpp.

Here is the caller graph for this function:

◆ return_unique_ptr_reference()

template<typename ElementType >
const std::unique_ptr< int > & DummyClass< ElementType >::return_unique_ptr_reference ( )
inline

Definition at line 48 of file 02-unique_ptr.cpp.

Here is the caller graph for this function:

◆ square()

template<typename ElementType >
double DummyClass< ElementType >::square ( double  v)
inline

Definition at line 70 of file 09-functor.cpp.

◆ sum() [1/2]

template<typename ElementType >
int DummyClass< ElementType >::sum ( int  a,
int  b 
)
inline

Definition at line 60 of file 09-functor.cpp.

Here is the caller graph for this function:

◆ sum() [2/2]

template<typename ElementType >
int DummyClass< ElementType >::sum ( int  a,
int  b 
)
inline

Definition at line 36 of file 10-mem_fn.cpp.

Member Data Documentation

◆ m_member

template<typename ElementType >
uptr_t DummyClass< ElementType >::m_member

Definition at line 38 of file 04-unique_ptr.cpp.

◆ m_ptr

template<typename ElementType >
std::unique_ptr<int> DummyClass< ElementType >::m_ptr

Definition at line 40 of file 02-unique_ptr.cpp.


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