From 3e5173d468bf44f4655f1212ff95839e3462a2f8 Mon Sep 17 00:00:00 2001 From: Daniel Herrera Castro Date: Mon, 8 Aug 2022 19:27:57 +0200 Subject: [PATCH] [precompile] Split Option.hpp --- CLI11.hpp.in | 2 + include/CLI/Option.hpp | 630 ++---------------------------- include/CLI/impl/Option_inl.hpp | 653 ++++++++++++++++++++++++++++++++ src/Option.cpp | 13 + 4 files changed, 706 insertions(+), 592 deletions(-) create mode 100644 include/CLI/impl/Option_inl.hpp create mode 100644 src/Option.cpp diff --git a/CLI11.hpp.in b/CLI11.hpp.in index 97bcffa0..fdc95fef 100644 --- a/CLI11.hpp.in +++ b/CLI11.hpp.in @@ -60,6 +60,8 @@ namespace {namespace} {{ {option_hpp} +{option_inl_hpp} + {app_hpp} {app_inl_hpp} diff --git a/include/CLI/Option.hpp b/include/CLI/Option.hpp index 7d7e6bfd..458d9ffc 100644 --- a/include/CLI/Option.hpp +++ b/include/CLI/Option.hpp @@ -78,17 +78,7 @@ template class OptionBase { MultiOptionPolicy multi_option_policy_{MultiOptionPolicy::Throw}; /// Copy the contents to another similar class (one based on OptionBase) - template void copy_to(T *other) const { - other->group(group_); - other->required(required_); - other->ignore_case(ignore_case_); - other->ignore_underscore(ignore_underscore_); - other->configurable(configurable_); - other->disable_flag_override(disable_flag_override_); - other->delimiter(delimiter_); - other->always_capture_default(always_capture_default_); - other->multi_option_policy(multi_option_policy_); - } + template void copy_to(T *other) const; public: // setters @@ -380,46 +370,11 @@ class Option : public OptionBase