Skip to content

Commit 9cd015a

Browse files
authored
Regards #340, #345: Removed unnecessary indentation of exceptions namespace + added end-of-namespace comment (#351)
1 parent 628dc92 commit 9cd015a

File tree

1 file changed

+124
-122
lines changed

1 file changed

+124
-122
lines changed

include/cxxopts.hpp

Lines changed: 124 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -371,154 +371,156 @@ class Value : public std::enable_shared_from_this<Value>
371371
#pragma GCC diagnostic pop
372372
#endif
373373
namespace exceptions {
374-
class exception : public std::exception
375-
{
376-
public:
377-
explicit exception(std::string message)
378-
: m_message(std::move(message))
379-
{
380-
}
381374

382-
CXXOPTS_NODISCARD
383-
const char*
384-
what() const noexcept override
385-
{
386-
return m_message.c_str();
387-
}
388-
389-
private:
390-
std::string m_message;
391-
};
375+
class exception : public std::exception
376+
{
377+
public:
378+
explicit exception(std::string message)
379+
: m_message(std::move(message))
380+
{
381+
}
392382

393-
class specification : public exception
383+
CXXOPTS_NODISCARD
384+
const char*
385+
what() const noexcept override
394386
{
395-
public:
387+
return m_message.c_str();
388+
}
396389

397-
explicit specification(const std::string& message)
398-
: exception(message)
399-
{
400-
}
401-
};
390+
private:
391+
std::string m_message;
392+
};
402393

403-
class parsing : public exception
404-
{
405-
public:
406-
explicit parsing(const std::string& message)
407-
: exception(message)
408-
{
409-
}
410-
};
394+
class specification : public exception
395+
{
396+
public:
411397

412-
class option_already_exists : public specification
398+
explicit specification(const std::string& message)
399+
: exception(message)
413400
{
414-
public:
415-
explicit option_already_exists(const std::string& option)
416-
: specification("Option " + LQUOTE + option + RQUOTE + " already exists")
417-
{
418-
}
419-
};
401+
}
402+
};
420403

421-
class invalid_option_format : public specification
404+
class parsing : public exception
405+
{
406+
public:
407+
explicit parsing(const std::string& message)
408+
: exception(message)
422409
{
423-
public:
424-
explicit invalid_option_format(const std::string& format)
425-
: specification("Invalid option format " + LQUOTE + format + RQUOTE)
426-
{
427-
}
428-
};
410+
}
411+
};
429412

430-
class invalid_option_syntax : public parsing {
431-
public:
432-
explicit invalid_option_syntax(const std::string& text)
433-
: parsing("Argument " + LQUOTE + text + RQUOTE +
434-
" starts with a - but has incorrect syntax")
435-
{
436-
}
437-
};
413+
class option_already_exists : public specification
414+
{
415+
public:
416+
explicit option_already_exists(const std::string& option)
417+
: specification("Option " + LQUOTE + option + RQUOTE + " already exists")
418+
{
419+
}
420+
};
438421

439-
class no_such_option : public parsing
422+
class invalid_option_format : public specification
423+
{
424+
public:
425+
explicit invalid_option_format(const std::string& format)
426+
: specification("Invalid option format " + LQUOTE + format + RQUOTE)
440427
{
441-
public:
442-
explicit no_such_option(const std::string& option)
443-
: parsing("Option " + LQUOTE + option + RQUOTE + " does not exist")
444-
{
445-
}
446-
};
428+
}
429+
};
447430

448-
class missing_argument : public parsing
431+
class invalid_option_syntax : public parsing {
432+
public:
433+
explicit invalid_option_syntax(const std::string& text)
434+
: parsing("Argument " + LQUOTE + text + RQUOTE +
435+
" starts with a - but has incorrect syntax")
449436
{
450-
public:
451-
explicit missing_argument(const std::string& option)
452-
: parsing(
453-
"Option " + LQUOTE + option + RQUOTE + " is missing an argument"
454-
)
455-
{
456-
}
457-
};
437+
}
438+
};
458439

459-
class option_requires_argument : public parsing
440+
class no_such_option : public parsing
441+
{
442+
public:
443+
explicit no_such_option(const std::string& option)
444+
: parsing("Option " + LQUOTE + option + RQUOTE + " does not exist")
460445
{
461-
public:
462-
explicit option_requires_argument(const std::string& option)
463-
: parsing(
464-
"Option " + LQUOTE + option + RQUOTE + " requires an argument"
465-
)
466-
{
467-
}
468-
};
446+
}
447+
};
469448

470-
class gratuitous_argument_for_option : public parsing
449+
class missing_argument : public parsing
450+
{
451+
public:
452+
explicit missing_argument(const std::string& option)
453+
: parsing(
454+
"Option " + LQUOTE + option + RQUOTE + " is missing an argument"
455+
)
471456
{
472-
public:
473-
gratuitous_argument_for_option
474-
(
475-
const std::string& option,
476-
const std::string& arg
457+
}
458+
};
459+
460+
class option_requires_argument : public parsing
461+
{
462+
public:
463+
explicit option_requires_argument(const std::string& option)
464+
: parsing(
465+
"Option " + LQUOTE + option + RQUOTE + " requires an argument"
477466
)
478-
: parsing(
479-
"Option " + LQUOTE + option + RQUOTE +
480-
" does not take an argument, but argument " +
481-
LQUOTE + arg + RQUOTE + " given"
482-
)
483-
{
484-
}
485-
};
467+
{
468+
}
469+
};
486470

487-
class requested_option_not_present : public parsing
471+
class gratuitous_argument_for_option : public parsing
472+
{
473+
public:
474+
gratuitous_argument_for_option
475+
(
476+
const std::string& option,
477+
const std::string& arg
478+
)
479+
: parsing(
480+
"Option " + LQUOTE + option + RQUOTE +
481+
" does not take an argument, but argument " +
482+
LQUOTE + arg + RQUOTE + " given"
483+
)
488484
{
489-
public:
490-
explicit requested_option_not_present(const std::string& option)
491-
: parsing("Option " + LQUOTE + option + RQUOTE + " not present")
492-
{
493-
}
494-
};
485+
}
486+
};
495487

496-
class option_has_no_value : public exception
488+
class requested_option_not_present : public parsing
489+
{
490+
public:
491+
explicit requested_option_not_present(const std::string& option)
492+
: parsing("Option " + LQUOTE + option + RQUOTE + " not present")
497493
{
498-
public:
499-
explicit option_has_no_value(const std::string& option)
500-
: exception(
501-
!option.empty() ?
502-
("Option " + LQUOTE + option + RQUOTE + " has no value") :
503-
"Option has no value")
504-
{
505-
}
506-
};
494+
}
495+
};
507496

508-
class incorrect_argument_type : public parsing
497+
class option_has_no_value : public exception
498+
{
499+
public:
500+
explicit option_has_no_value(const std::string& option)
501+
: exception(
502+
!option.empty() ?
503+
("Option " + LQUOTE + option + RQUOTE + " has no value") :
504+
"Option has no value")
509505
{
510-
public:
511-
explicit incorrect_argument_type
512-
(
513-
const std::string& arg
506+
}
507+
};
508+
509+
class incorrect_argument_type : public parsing
510+
{
511+
public:
512+
explicit incorrect_argument_type
513+
(
514+
const std::string& arg
515+
)
516+
: parsing(
517+
"Argument " + LQUOTE + arg + RQUOTE + " failed to parse"
514518
)
515-
: parsing(
516-
"Argument " + LQUOTE + arg + RQUOTE + " failed to parse"
517-
)
518-
{
519-
}
520-
};
521-
}
519+
{
520+
}
521+
};
522+
523+
} // namespace exceptions
522524

523525
template <typename T>
524526
void throw_or_mimic(const std::string& text)

0 commit comments

Comments
 (0)