Gobelijn API documentation  - generated for commit a0cbea7
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Pages
app_essentialops.cpp
Go to the documentation of this file.
1 
7 #include "demos.h"
8 #include "objtracer/Body.h"
9 #include "objtracer/Motorcycle.h"
10 #include "objtracer/Unicycle.h"
11 #include "tracer/tracer.h"
12 #include <iostream>
13 
14 using namespace std;
15 using namespace ODemo;
16 
23 {
24  cout << __FUNCTION__ << " haha " << __PRETTY_FUNCTION__ << endl;
26  {
27  COMP_MISC_BLOCK_TRACER("First block");
28 
29  COMP_MISC_LOG_TRACER(" statement: shared_ptr<Engine> e1(new Engine(50));");
30  shared_ptr<Engine> e1(new Engine(50));
31 
32  COMP_MISC_LOG_TRACER(" statement: Unicycle u1();");
33  Unicycle u1;
34 
35  COMP_MISC_LOG_TRACER(" statement: Motorcycle m1(&e1);");
36  Motorcycle m1(e1);
37  }
38  {
39  COMP_MISC_BLOCK_TRACER("Second block");
40 
41  COMP_MISC_LOG_TRACER(" statement: Motorcycle m1;");
42  Motorcycle m1;
43 
44  COMP_MISC_LOG_TRACER(" statement: m.accelerate(1.0);");
45  m1.accelerate(1.0);
46 
47  COMP_MISC_LOG_TRACER(" statement: Motorcycle m2(m1);");
48  Motorcycle m2(m1);
49 
50  COMP_MISC_LOG_TRACER(" statement: Motorcycle m3(std::move(m1));");
51  Motorcycle m3(std::move(m1));
52 
53  COMP_MISC_LOG_TRACER(" statement: m3 = std::move(m2);");
54  m3 = std::move(m2);
55  }
56  {
57  COMP_MISC_BLOCK_TRACER("Block for free store ctor/dtor");
58 
59  COMP_MISC_LOG_TRACER(" statement: shared_ptr<Engine> ep1(new Engine(80));");
60  shared_ptr<Engine> ep1(new Engine(80));
61 
62  COMP_MISC_LOG_TRACER(" statement: auto mp1 = new Motorcycle(ep1);");
63  auto mp1 = new Motorcycle(ep1);
64 
65  COMP_MISC_LOG_TRACER(" statement: delete mp1;");
66  delete mp1;
67  }
68 
69  COMP_MISC_LOG_TRACER(" statement: return 0;");
70  return 0;
71 }
Comprehensive include file for all tracer classes.
int app_essentialops()
Demo prog for features of ctor/dtor.
Header for object tracer demo routines.
Engine that provides motion.
Definition: Engine.h:12
Motorcycle with Engine and Owner.
Definition: Motorcycle.h:20
Header for Bicycle class.
#define COMP_MISC_FUNCTION_TRACER
Macro for tracking function scope.
Header for the Unicycle class.
Header for the Motorcycle class.
Unicycle interface.
Definition: Unicycle.h:14
#define COMP_MISC_LOG_TRACER(MSG)
Macro for inserting log message into tracker output at current severity level.
Definition: TracerOutput.h:17
void accelerate(double speed)
Accelerate up to given speed.
Definition: Motorcycle.cpp:131
#define COMP_MISC_BLOCK_TRACER(MSG)
Macro for tracking block scope.
Definition: BlockTracer.h:12