C++ Library Extensions 2022.12.09
To help learn modern C++ programming
068-move.cpp
Go to the documentation of this file.
1#include <tpf_output.hpp>
2
3using move_type_t = std::unique_ptr<int>;
4
7
8class ClsType
9{
10 public:
12
13 public:
14 ClsType() { }
15
16 ClsType(int value):
17 m_member{ new int{value} } { }
18
20 {
21 stream << "Type m_member: " <<
22 Tpf_GetTypeCategory(this->m_member) << endl;
23
24 return std::move(this->m_member);
25 }
26};
27
28
30{
31 ClsType obj(6);
32
33 return std::move(obj.m_member);
34}
35
37{
38
39}
40
41int main()
42{
43 move_type_t m1 {new int{5}};
44
45 get_move_type(m1);
46
47}
tpf::sstream stream
Definition: 068-move.cpp:5
void get_move_type(move_type_t mt)
Definition: 068-move.cpp:36
std::unique_ptr< int > move_type_t
Definition: 068-move.cpp:3
auto endl
Definition: 068-move.cpp:6
int main()
Definition: 068-move.cpp:41
move_type_t make_member(int v)
Definition: 068-move.cpp:29
move_type_t m_member
Definition: 068-move.cpp:11
move_type_t get_member()
Definition: 068-move.cpp:19
ClsType(int value)
Definition: 068-move.cpp:16
ClsType()
Definition: 068-move.cpp:14
constexpr auto endl
Definition: tpf_output.hpp:973
Stream output operators << are implemented.
#define Tpf_GetTypeCategory(instance_arg)
A macro that returns instance_arg's type category string name.
Definition: tpf_types.hpp:1428