@@ -352,13 +352,9 @@ struct cat {
352
352
353
353
// Support value comparison outside the template.
354
354
struct GenericOptionValue {
355
- virtual ~GenericOptionValue () = default ;
355
+ virtual ~GenericOptionValue () {}
356
356
virtual bool compare (const GenericOptionValue &V) const = 0;
357
357
358
- protected:
359
- GenericOptionValue () = default ;
360
- GenericOptionValue (const GenericOptionValue&) = default ;
361
- GenericOptionValue &operator =(const GenericOptionValue &) = default ;
362
358
private:
363
359
virtual void anchor ();
364
360
};
@@ -390,9 +386,6 @@ struct OptionValueBase : public GenericOptionValue {
390
386
template <class DataType > class OptionValueCopy : public GenericOptionValue {
391
387
DataType Value;
392
388
bool Valid;
393
- protected:
394
- OptionValueCopy (const OptionValueCopy&) = default ;
395
- OptionValueCopy &operator =(const OptionValueCopy&) = default ;
396
389
397
390
public:
398
391
OptionValueCopy () : Valid(false ) {}
@@ -424,10 +417,6 @@ template <class DataType> class OptionValueCopy : public GenericOptionValue {
424
417
template <class DataType >
425
418
struct OptionValueBase <DataType, false > : OptionValueCopy<DataType> {
426
419
typedef DataType WrapperType;
427
- protected:
428
- OptionValueBase () = default ;
429
- OptionValueBase (const OptionValueBase&) = default ;
430
- OptionValueBase &operator =(const OptionValueBase&) = default ;
431
420
};
432
421
433
422
// Top-level option class.
@@ -732,8 +721,6 @@ class basic_parser_impl { // non-template implementation of basic_parser<t>
732
721
virtual void anchor ();
733
722
734
723
protected:
735
- basic_parser_impl (const basic_parser_impl&) = default ;
736
-
737
724
// A helper for basic_parser::printOptionDiff.
738
725
void printOptionName (const Option &O, size_t GlobalWidth) const ;
739
726
};
@@ -742,9 +729,6 @@ class basic_parser_impl { // non-template implementation of basic_parser<t>
742
729
// a typedef for the provided data type.
743
730
//
744
731
template <class DataType > class basic_parser : public basic_parser_impl {
745
- protected:
746
- // Workaround PR22763
747
- basic_parser (const basic_parser& RHS) : basic_parser_impl(RHS) {}
748
732
public:
749
733
basic_parser (Option &O) : basic_parser_impl(O) {}
750
734
typedef DataType parser_data_type;
@@ -754,7 +738,7 @@ template <class DataType> class basic_parser : public basic_parser_impl {
754
738
// --------------------------------------------------
755
739
// parser<bool>
756
740
//
757
- template <> class parser <bool > final : public basic_parser<bool > {
741
+ template <> class parser <bool > : public basic_parser<bool > {
758
742
public:
759
743
parser (Option &O) : basic_parser(O) {}
760
744
@@ -781,7 +765,7 @@ EXTERN_TEMPLATE_INSTANTIATION(class basic_parser<bool>);
781
765
782
766
// --------------------------------------------------
783
767
// parser<boolOrDefault>
784
- template <> class parser <boolOrDefault> final : public basic_parser<boolOrDefault> {
768
+ template <> class parser <boolOrDefault> : public basic_parser<boolOrDefault> {
785
769
public:
786
770
parser (Option &O) : basic_parser(O) {}
787
771
@@ -807,7 +791,7 @@ EXTERN_TEMPLATE_INSTANTIATION(class basic_parser<boolOrDefault>);
807
791
// --------------------------------------------------
808
792
// parser<int>
809
793
//
810
- template <> class parser <int > final : public basic_parser<int > {
794
+ template <> class parser <int > : public basic_parser<int > {
811
795
public:
812
796
parser (Option &O) : basic_parser(O) {}
813
797
@@ -829,7 +813,7 @@ EXTERN_TEMPLATE_INSTANTIATION(class basic_parser<int>);
829
813
// --------------------------------------------------
830
814
// parser<unsigned>
831
815
//
832
- template <> class parser <unsigned > final : public basic_parser<unsigned > {
816
+ template <> class parser <unsigned > : public basic_parser<unsigned > {
833
817
public:
834
818
parser (Option &O) : basic_parser(O) {}
835
819
@@ -852,7 +836,7 @@ EXTERN_TEMPLATE_INSTANTIATION(class basic_parser<unsigned>);
852
836
// parser<unsigned long long>
853
837
//
854
838
template <>
855
- class parser <unsigned long long > final : public basic_parser<unsigned long long > {
839
+ class parser <unsigned long long > : public basic_parser<unsigned long long > {
856
840
public:
857
841
parser (Option &O) : basic_parser(O) {}
858
842
@@ -875,7 +859,7 @@ EXTERN_TEMPLATE_INSTANTIATION(class basic_parser<unsigned long long>);
875
859
// --------------------------------------------------
876
860
// parser<double>
877
861
//
878
- template <> class parser <double > final : public basic_parser<double > {
862
+ template <> class parser <double > : public basic_parser<double > {
879
863
public:
880
864
parser (Option &O) : basic_parser(O) {}
881
865
@@ -897,7 +881,7 @@ EXTERN_TEMPLATE_INSTANTIATION(class basic_parser<double>);
897
881
// --------------------------------------------------
898
882
// parser<float>
899
883
//
900
- template <> class parser <float > final : public basic_parser<float > {
884
+ template <> class parser <float > : public basic_parser<float > {
901
885
public:
902
886
parser (Option &O) : basic_parser(O) {}
903
887
@@ -919,7 +903,7 @@ EXTERN_TEMPLATE_INSTANTIATION(class basic_parser<float>);
919
903
// --------------------------------------------------
920
904
// parser<std::string>
921
905
//
922
- template <> class parser <std::string> final : public basic_parser<std::string> {
906
+ template <> class parser <std::string> : public basic_parser<std::string> {
923
907
public:
924
908
parser (Option &O) : basic_parser(O) {}
925
909
@@ -944,7 +928,7 @@ EXTERN_TEMPLATE_INSTANTIATION(class basic_parser<std::string>);
944
928
// --------------------------------------------------
945
929
// parser<char>
946
930
//
947
- template <> class parser <char > final : public basic_parser<char > {
931
+ template <> class parser <char > : public basic_parser<char > {
948
932
public:
949
933
parser (Option &O) : basic_parser(O) {}
950
934
0 commit comments