1
1
#include " bar/Bar.hpp"
2
2
3
3
#include < iostream>
4
+ #include < string>
5
+ #include < utility>
4
6
5
7
namespace bar {
6
- void barHello (int level) {
7
- std::cout << " [" << level << " ] Enter barHello(int)" << std::endl;
8
- std::cout << " [" << level << " ] Exit barHello(int)" << std::endl;
8
+ std::vector<std::string> stringVectorOutput (int level) {
9
+ std::cout << " [" << level << " ] Enter " << __func__ << " ()" << std::endl;
10
+ std::vector<std::string> result (level, std::to_string (level));
11
+ std::cout << " [" << level << " ] Exit " << __func__ << " ()" << std::endl;
12
+ return result;
9
13
}
10
14
11
- void barHello (int64_t level) {
12
- std::cout << " [" << level << " ] Enter barHello(int64_t)" << std::endl;
13
- std::cout << " [" << level << " ] Exit barHello(int64_t)" << std::endl;
15
+ int stringVectorInput (std::vector<std::string> data) {
16
+ std::cout << " Enter " << __func__ << " ()" << std::endl;
17
+ std::cout << " {" ;
18
+ for (const auto & item : data) {
19
+ std::cout << item << " , " ;
20
+ }
21
+ std::cout << " }" << std::endl;
22
+ std::cout << " Exit " << __func__ << " ()" << std::endl;
23
+ return data.size ();
14
24
}
15
25
16
- void Bar::hello (int level) {
17
- std::cout << " [" << level << " ] Enter Bar::hello(int)" << std::endl;
18
- bar::barHello (level + 1 );
19
- std::cout << " [" << level << " ] Exit Bar::hello(int)" << std::endl;
26
+ int stringVectorRefInput (const std::vector<std::string>& data) {
27
+ std::cout << " Enter " << __func__ << " ()" << std::endl;
28
+ std::cout << " {" ;
29
+ for (const auto & item : data) {
30
+ std::cout << item << " , " ;
31
+ }
32
+ std::cout << " }" << std::endl;
33
+ std::cout << " Exit " << __func__ << " ()" << std::endl;
34
+ return data.size ();
20
35
}
21
36
22
- void Bar::hello (int64_t level) {
23
- std::cout << " [" << level << " ] Enter Bar::hello(int64_t)" << std::endl;
24
- bar::barHello (level + 1 );
25
- std::cout << " [" << level << " ] Exit Bar::hello(int64_t)" << std::endl;
37
+ std::vector<std::vector<std::string>> stringJaggedArrayOutput (int level) {
38
+ std::cout << " [" << level << " ] Enter " << __func__ << " ()" << std::endl;
39
+ std::vector<std::vector<std::string>> result;
40
+ result.reserve (level);
41
+ for (int i = 1 ; i <= level; ++i) {
42
+ result.emplace_back (std::vector<std::string>(i, std::to_string (i)));
43
+ }
44
+ std::cout << " [" << level << " ] Exit " << __func__ << " ()" << std::endl;
45
+ return result;
26
46
}
27
47
28
- std::string Bar::operator ()() const {
29
- return std::string{" \" Bar\" :{\" int\" :" } + std::to_string (_intValue) +
30
- " ,\" int64\" :" + std::to_string (_int64Value) + " }" ;
48
+ int stringJaggedArrayInput (std::vector<std::vector<std::string>> data) {
49
+ std::cout << " Enter " << __func__ << " ()" << std::endl;
50
+ std::cout << " {" ;
51
+ for (const auto & inner : data) {
52
+ std::cout << " {" ;
53
+ for (const auto & item : inner) {
54
+ std::cout << item << " , " ;
55
+ }
56
+ std::cout << " }, " ;
57
+ }
58
+ std::cout << " }" << std::endl;
59
+ std::cout << " Exit " << __func__ << " ()" << std::endl;
60
+ return data.size ();
61
+ }
62
+
63
+ int stringJaggedArrayRefInput (const std::vector<std::vector<std::string>>& data) {
64
+ std::cout << " Enter " << __func__ << " ()" << std::endl;
65
+ std::cout << " {" ;
66
+ for (const auto & inner : data) {
67
+ std::cout << " {" ;
68
+ for (const auto & item : inner) {
69
+ std::cout << item << " , " ;
70
+ }
71
+ std::cout << " }, " ;
72
+ }
73
+ std::cout << " }" << std::endl;
74
+ std::cout << " Exit " << __func__ << " ()" << std::endl;
75
+ return data.size ();
76
+ }
77
+
78
+ std::vector<std::pair<int , int >> pairVectorOutput (int level) {
79
+ std::cout << " [" << level << " ] Enter " << __func__ << " ()" << std::endl;
80
+ std::vector<std::pair<int , int >> result (level, std::make_pair (level, level));
81
+ std::cout << " [" << level << " ] Exit " << __func__ << " ()" << std::endl;
82
+ return result;
83
+ }
84
+
85
+ int pairVectorInput (std::vector<std::pair<int , int >> data) {
86
+ std::cout << " Enter " << __func__ << " ()" << std::endl;
87
+ std::cout << " {" ;
88
+ for (const auto & item : data) {
89
+ std::cout << " [" << item.first << " ," << item.second << " ], " ;
90
+ }
91
+ std::cout << " }" << std::endl;
92
+ std::cout << " Exit " << __func__ << " ()" << std::endl;
93
+ return data.size ();
94
+ }
95
+
96
+ int pairVectorRefInput (const std::vector<std::pair<int , int >>& data) {
97
+ std::cout << " Enter " << __func__ << " ()" << std::endl;
98
+ std::cout << " {" ;
99
+ for (const auto & item : data) {
100
+ std::cout << " [" << item.first << " ," << item.second << " ], " ;
101
+ }
102
+ std::cout << " }" << std::endl;
103
+ std::cout << " Exit " << __func__ << " ()" << std::endl;
104
+ return data.size ();
105
+ }
106
+
107
+ std::vector<std::vector<std::pair<int , int >>> pairJaggedArrayOutput (int level) {
108
+ std::cout << " [" << level << " ] Enter " << __func__ << " ()" << std::endl;
109
+ std::vector<std::vector<std::pair<int , int >>> result;
110
+ result.reserve (level);
111
+ for (int i = 1 ; i <= level; ++i) {
112
+ result.emplace_back (std::vector<std::pair<int , int >>(i, std::make_pair (i, i)));
113
+ }
114
+ std::cout << " [" << level << " ] Exit " << __func__ << " ()" << std::endl;
115
+ return result;
116
+ }
117
+
118
+ int pairJaggedArrayInput (std::vector<std::vector<std::pair<int , int >>> data) {
119
+ std::cout << " Enter " << __func__ << " ()" << std::endl;
120
+ std::cout << " {" ;
121
+ for (const auto & inner : data) {
122
+ std::cout << " {" ;
123
+ for (const auto & item : inner) {
124
+ std::cout << " [" << item.first << " ," << item.second << " ], " ;
125
+ }
126
+ std::cout << " }, " ;
127
+ }
128
+ std::cout << " }" << std::endl;
129
+ std::cout << " Exit " << __func__ << " ()" << std::endl;
130
+ return data.size ();
131
+ }
132
+
133
+ int pairJaggedArrayRefInput (const std::vector<std::vector<std::pair<int , int >>>& data) {
134
+ std::cout << " Enter " << __func__ << " ()" << std::endl;
135
+ std::cout << " {" ;
136
+ for (const auto & inner : data) {
137
+ std::cout << " {" ;
138
+ for (const auto & item : inner) {
139
+ std::cout << " [" << item.first << " ," << item.second << " ], " ;
140
+ }
141
+ std::cout << " }, " ;
142
+ }
143
+ std::cout << " }" << std::endl;
144
+ std::cout << " Exit " << __func__ << " ()" << std::endl;
145
+ return data.size ();
146
+ }
147
+
148
+ void freeFunction (int level) {
149
+ std::cout << " [" << level << " ] Enter " << __func__ << " (int)" << std::endl;
150
+ std::cout << " [" << level << " ] Exit " << __func__ << " (int)" << std::endl;
151
+ }
152
+
153
+ void freeFunction (int64_t level) {
154
+ std::cout << " [" << level << " ] Enter " << __func__ << " (int64_t)" << std::endl;
155
+ std::cout << " [" << level << " ] Exit " << __func__ << " (int64_t)" << std::endl;
156
+ }
157
+
158
+ void Bar::staticFunction (int level) {
159
+ std::cout << " [" << level << " ] Enter " << __func__ << " (int)" << std::endl;
160
+ freeFunction (level + 1 );
161
+ std::cout << " [" << level << " ] Exit " << __func__ << " (int)" << std::endl;
162
+ }
163
+
164
+ void Bar::staticFunction (int64_t level) {
165
+ std::cout << " [" << level << " ] Enter " << __func__ << " (int64_t)" << std::endl;
166
+ freeFunction (level + 1 );
167
+ std::cout << " [" << level << " ] Exit " << __func__ << " (int64_t)" << std::endl;
31
168
}
32
169
33
170
int Bar::getInt () const {
@@ -46,4 +183,8 @@ void Bar::setInt64(int64_t input) {
46
183
_int64Value = input;
47
184
}
48
185
186
+ std::string Bar::operator ()() const {
187
+ return std::string{" \" Bar\" :{\" int\" :" } + std::to_string (_intValue) +
188
+ " ,\" int64\" :" + std::to_string (_int64Value) + " }" ;
189
+ }
49
190
} // namespace bar
0 commit comments