Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JSharedPointer.cc
Go to the documentation of this file.
1
2#include <iostream>
3#include <iomanip>
4#include <vector>
5
7
8#include "Jeep/JParser.hh"
9#include "Jeep/JMessage.hh"
10
11
12namespace {
13
14 struct __A__
15 {
16 __A__()
17 {
18 std::cout << "__A__()" << std::endl;
19 }
20
21 ~__A__()
22 {
23 std::cout << "~__A__()" << std::endl;
24 }
25 };
26}
27
28
29/**
30 * \file
31 *
32 * Example program to test JLANG::JSharedPointer class.
33 * \author mdejong
34 */
35int main(int argc, char **argv)
36{
37 using namespace std;
38
39 unsigned int N;
40 int debug;
41
42 try {
43
44 JParser<> zap("Example program to test shared pointer.");
45
46 zap['n'] = make_field(N) = 4;
47 zap['d'] = make_field(debug) = 3;
48
49 zap(argc, argv);
50 }
51 catch(const exception &error) {
52 FATAL(error.what() << endl);
53 }
54
55
56 using namespace JPP;
57
58
59 typedef JSharedPointer<__A__> JSharedPointer_t;
60
61 JSharedPointer_t a;
62
63 cout << "JSharedPointer::create()" << endl;
64
65 a.create();
66
68
69 for (unsigned int i = 0; i != N; ++i) {
70
71 cout << "buffer.push_back() " << i << endl;
72
73 buffer.push_back(a);
74 }
75
76 for (unsigned int i = 0; i != N; ++i) {
77 cout << "buffer[" << i << "] is valid? " << buffer[i].is_valid() << endl;
78 }
79}
General purpose messaging.
#define FATAL(A)
Definition JMessage.hh:67
int debug
debug level
Definition JSirene.cc:72
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition JParser.hh:2142
int main(int argc, char **argv)
The template JSharedPointer class can be used to share a pointer to an object.
Utility class to parse command line options.
Definition JParser.hh:1698
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).