Gobelijn API documentation  - generated for commit a0cbea7
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Pages
WaterVehicle.cpp
Go to the documentation of this file.
1 
8 #include "tracer/tracer.h"
9 
10 namespace ODemo {
11 
12 using namespace std;
13 
15 
16 WaterVehicle::WaterVehicle(const WaterVehicle& ori) : Vehicle(ori), m_sinking(ori.m_sinking)
17 {
19 }
20 
21 WaterVehicle::WaterVehicle(WaterVehicle&& ori) noexcept : Vehicle(ori), m_sinking(ori.m_sinking)
22 {
24 }
25 
27 {
29  if (this != &rhs) {
30  Vehicle::operator=(rhs);
31  m_sinking = rhs.m_sinking;
32  }
33  return *this;
34 }
35 
37 {
39  if (this != &rhs) {
40  Vehicle::operator=(rhs);
41  m_sinking = rhs.m_sinking;
42  }
43  return *this;
44 }
45 
47 
48 void WaterVehicle::info() const
49 {
51  string s{"I'm a generic Water vehicle"};
52  if (m_sinking) {
53  s.append(" and I'm sinking!");
54  }
56 }
57 
59 {
61  m_sinking = true;
62 }
63 
65 {
67  m_sinking = false;
68 }
69 
70 } // namespace ODemo
void info() const override
Return identification info.
Comprehensive include file for all tracer classes.
WaterVehicle & operator=(const WaterVehicle &rhs)
Copy assignment.
Abstract WaterVehicle class.
Definition: WaterVehicle.h:15
~WaterVehicle() override
Destructor.
This Vehicle interface class.
Definition: Vehicle.h:16
Header for the WaterVehicle class.
#define COMP_MISC_MEMBER_TRACER
Macro for tracking member scope.
Definition: MemberTracer.h:21
WaterVehicle()
Default constructor.
#define COMP_MISC_LOG_TRACER(MSG)
Macro for inserting log message into tracker output at current severity level.
Definition: TracerOutput.h:17
void stop_sinking()
Stop sinking, even if you were not sinking in the first place.
void start_sinking()
Start sinking, even if you are already sinking.