@@ -45,16 +45,16 @@ namespace docopt {
45
45
value& operator =(value const &);
46
46
value& operator =(value&&) noexcept ;
47
47
48
- Kind kind () const { return mKind ; }
48
+ Kind kind () const { return kind_ ; }
49
49
50
50
// Test if this object has any contents at all
51
- explicit operator bool () const { return mKind != Kind::Empty; }
51
+ explicit operator bool () const { return kind_ != Kind::Empty; }
52
52
53
53
// Test the type contained by this value object
54
- bool isBool () const { return mKind ==Kind::Bool; }
55
- bool isString () const { return mKind ==Kind::String; }
56
- bool isLong () const { return mKind ==Kind::Long; }
57
- bool isStringList () const { return mKind ==Kind::StringList; }
54
+ bool isBool () const { return kind_ ==Kind::Bool; }
55
+ bool isString () const { return kind_ ==Kind::String; }
56
+ bool isLong () const { return kind_ ==Kind::Long; }
57
+ bool isStringList () const { return kind_ ==Kind::StringList; }
58
58
59
59
// Throws std::invalid_argument if the type does not match
60
60
bool asBool () const ;
@@ -90,18 +90,18 @@ namespace docopt {
90
90
}
91
91
92
92
void throwIfNotKind (Kind expected) const {
93
- if (mKind == expected)
93
+ if (kind_ == expected)
94
94
return ;
95
95
96
96
std::string error = " Illegal cast to " ;
97
97
error += kindAsString (expected);
98
98
error += " ; type is actually " ;
99
- error += kindAsString (mKind );
99
+ error += kindAsString (kind_ );
100
100
throw std::runtime_error (std::move (error));
101
101
}
102
102
103
- Kind mKind = Kind::Empty;
104
- Variant mVariant {};
103
+ Kind kind_ = Kind::Empty;
104
+ Variant variant_ {};
105
105
};
106
106
107
107
// / Write out the contents to the ostream
@@ -120,51 +120,51 @@ namespace std {
120
120
namespace docopt {
121
121
inline
122
122
value::value (bool v)
123
- : mKind (Kind::Bool)
123
+ : kind_ (Kind::Bool)
124
124
{
125
- mVariant .boolValue = v;
125
+ variant_ .boolValue = v;
126
126
}
127
127
128
128
inline
129
129
value::value (long v)
130
- : mKind (Kind::Long)
130
+ : kind_ (Kind::Long)
131
131
{
132
- mVariant .longValue = v;
132
+ variant_ .longValue = v;
133
133
}
134
134
135
135
inline
136
136
value::value (std::string v)
137
- : mKind (Kind::String)
137
+ : kind_ (Kind::String)
138
138
{
139
- new (&mVariant .strValue ) std::string (std::move (v));
139
+ new (&variant_ .strValue ) std::string (std::move (v));
140
140
}
141
141
142
142
inline
143
143
value::value (std::vector<std::string> v)
144
- : mKind (Kind::StringList)
144
+ : kind_ (Kind::StringList)
145
145
{
146
- new (&mVariant .strList ) std::vector<std::string>(std::move (v));
146
+ new (&variant_ .strList ) std::vector<std::string>(std::move (v));
147
147
}
148
148
149
149
inline
150
150
value::value (value const & other)
151
- : mKind (other.mKind )
151
+ : kind_ (other.kind_ )
152
152
{
153
- switch (mKind ) {
153
+ switch (kind_ ) {
154
154
case Kind::String:
155
- new (&mVariant .strValue ) std::string (other.mVariant .strValue );
155
+ new (&variant_ .strValue ) std::string (other.variant_ .strValue );
156
156
break ;
157
157
158
158
case Kind::StringList:
159
- new (&mVariant .strList ) std::vector<std::string>(other.mVariant .strList );
159
+ new (&variant_ .strList ) std::vector<std::string>(other.variant_ .strList );
160
160
break ;
161
161
162
162
case Kind::Bool:
163
- mVariant .boolValue = other.mVariant .boolValue ;
163
+ variant_ .boolValue = other.variant_ .boolValue ;
164
164
break ;
165
165
166
166
case Kind::Long:
167
- mVariant .longValue = other.mVariant .longValue ;
167
+ variant_ .longValue = other.variant_ .longValue ;
168
168
break ;
169
169
170
170
case Kind::Empty:
@@ -175,23 +175,23 @@ namespace docopt {
175
175
176
176
inline
177
177
value::value (value&& other) noexcept
178
- : mKind (other.mKind )
178
+ : kind_ (other.kind_ )
179
179
{
180
- switch (mKind ) {
180
+ switch (kind_ ) {
181
181
case Kind::String:
182
- new (&mVariant .strValue ) std::string (std::move (other.mVariant .strValue ));
182
+ new (&variant_ .strValue ) std::string (std::move (other.variant_ .strValue ));
183
183
break ;
184
184
185
185
case Kind::StringList:
186
- new (&mVariant .strList ) std::vector<std::string>(std::move (other.mVariant .strList ));
186
+ new (&variant_ .strList ) std::vector<std::string>(std::move (other.variant_ .strList ));
187
187
break ;
188
188
189
189
case Kind::Bool:
190
- mVariant .boolValue = other.mVariant .boolValue ;
190
+ variant_ .boolValue = other.variant_ .boolValue ;
191
191
break ;
192
192
193
193
case Kind::Long:
194
- mVariant .longValue = other.mVariant .longValue ;
194
+ variant_ .longValue = other.variant_ .longValue ;
195
195
break ;
196
196
197
197
case Kind::Empty:
@@ -203,13 +203,13 @@ namespace docopt {
203
203
inline
204
204
value::~value ()
205
205
{
206
- switch (mKind ) {
206
+ switch (kind_ ) {
207
207
case Kind::String:
208
- mVariant .strValue .~basic_string ();
208
+ variant_ .strValue .~basic_string ();
209
209
break ;
210
210
211
211
case Kind::StringList:
212
- mVariant .strList .~vector ();
212
+ variant_ .strList .~vector ();
213
213
break ;
214
214
215
215
case Kind::Empty:
@@ -243,23 +243,23 @@ namespace docopt {
243
243
inline
244
244
size_t value::hash () const noexcept
245
245
{
246
- switch (mKind ) {
246
+ switch (kind_ ) {
247
247
case Kind::String:
248
- return std::hash<std::string>()(mVariant .strValue );
248
+ return std::hash<std::string>()(variant_ .strValue );
249
249
250
250
case Kind::StringList: {
251
- size_t seed = std::hash<size_t >()(mVariant .strList .size ());
252
- for (auto const & str : mVariant .strList ) {
251
+ size_t seed = std::hash<size_t >()(variant_ .strList .size ());
252
+ for (auto const & str : variant_ .strList ) {
253
253
hash_combine (seed, str);
254
254
}
255
255
return seed;
256
256
}
257
257
258
258
case Kind::Bool:
259
- return std::hash<bool >()(mVariant .boolValue );
259
+ return std::hash<bool >()(variant_ .boolValue );
260
260
261
261
case Kind::Long:
262
- return std::hash<long >()(mVariant .longValue );
262
+ return std::hash<long >()(variant_ .longValue );
263
263
264
264
case Kind::Empty:
265
265
default :
@@ -271,15 +271,15 @@ namespace docopt {
271
271
bool value::asBool () const
272
272
{
273
273
throwIfNotKind (Kind::Bool);
274
- return mVariant .boolValue ;
274
+ return variant_ .boolValue ;
275
275
}
276
276
277
277
inline
278
278
long value::asLong () const
279
279
{
280
280
// Attempt to convert a string to a long
281
- if (mKind == Kind::String) {
282
- const std::string& str = mVariant .strValue ;
281
+ if (kind_ == Kind::String) {
282
+ const std::string& str = variant_ .strValue ;
283
283
std::size_t pos;
284
284
const long ret = stol (str, &pos); // Throws if it can't convert
285
285
if (pos != str.length ()) {
@@ -289,41 +289,41 @@ namespace docopt {
289
289
return ret;
290
290
}
291
291
throwIfNotKind (Kind::Long);
292
- return mVariant .longValue ;
292
+ return variant_ .longValue ;
293
293
}
294
294
295
295
inline
296
296
std::string const & value::asString () const
297
297
{
298
298
throwIfNotKind (Kind::String);
299
- return mVariant .strValue ;
299
+ return variant_ .strValue ;
300
300
}
301
301
302
302
inline
303
303
std::vector<std::string> const & value::asStringList () const
304
304
{
305
305
throwIfNotKind (Kind::StringList);
306
- return mVariant .strList ;
306
+ return variant_ .strList ;
307
307
}
308
308
309
309
inline
310
310
bool operator ==(value const & v1, value const & v2)
311
311
{
312
- if (v1.mKind != v2.mKind )
312
+ if (v1.kind_ != v2.kind_ )
313
313
return false ;
314
314
315
- switch (v1.mKind ) {
315
+ switch (v1.kind_ ) {
316
316
case Kind::String:
317
- return v1.mVariant .strValue ==v2.mVariant .strValue ;
317
+ return v1.variant_ .strValue ==v2.variant_ .strValue ;
318
318
319
319
case Kind::StringList:
320
- return v1.mVariant .strList ==v2.mVariant .strList ;
320
+ return v1.variant_ .strList ==v2.variant_ .strList ;
321
321
322
322
case Kind::Bool:
323
- return v1.mVariant .boolValue ==v2.mVariant .boolValue ;
323
+ return v1.variant_ .boolValue ==v2.variant_ .boolValue ;
324
324
325
325
case Kind::Long:
326
- return v1.mVariant .longValue ==v2.mVariant .longValue ;
326
+ return v1.variant_ .longValue ==v2.variant_ .longValue ;
327
327
328
328
case Kind::Empty:
329
329
default :
0 commit comments