12
12
#line 410 "reflect.h2"
13
13
namespace cpp2 {
14
14
15
- #line 718 "reflect.h2"
15
+ #line 713 "reflect.h2"
16
16
}
17
17
18
18
@@ -482,7 +482,7 @@ auto interface(meta::type_declaration& t) -> void;
482
482
//
483
483
auto polymorphic_base (meta::type_declaration& t) -> void;
484
484
485
- #line 520 "reflect.h2"
485
+ #line 515 "reflect.h2"
486
486
// -----------------------------------------------------------------------
487
487
//
488
488
// "... A totally ordered type ... requires operator<=> that
@@ -508,27 +508,27 @@ auto ordered_impl(
508
508
cpp2::in<std::string_view> ordering// must be "strong_ordering" etc.
509
509
) -> void;
510
510
511
- #line 565 "reflect.h2"
511
+ #line 560 "reflect.h2"
512
512
// -----------------------------------------------------------------------
513
513
// ordered - a totally ordered type
514
514
//
515
515
// Note: the ordering that should be encouraged as default gets the nice name
516
516
//
517
517
auto ordered (meta::type_declaration& t) -> void;
518
518
519
- #line 575 "reflect.h2"
519
+ #line 570 "reflect.h2"
520
520
// -----------------------------------------------------------------------
521
521
// weakly_ordered - a weakly ordered type
522
522
//
523
523
auto weakly_ordered (meta::type_declaration& t) -> void;
524
524
525
- #line 583 "reflect.h2"
525
+ #line 578 "reflect.h2"
526
526
// -----------------------------------------------------------------------
527
527
// partially_ordered - a partially ordered type
528
528
//
529
529
auto partially_ordered (meta::type_declaration& t) -> void;
530
530
531
- #line 592 "reflect.h2"
531
+ #line 587 "reflect.h2"
532
532
// -----------------------------------------------------------------------
533
533
//
534
534
// "A value is ... a regular type. It must have all public
@@ -548,7 +548,7 @@ auto partially_ordered(meta::type_declaration& t) -> void;
548
548
//
549
549
auto basic_value (meta::type_declaration& t) -> void;
550
550
551
- #line 645 "reflect.h2"
551
+ #line 640 "reflect.h2"
552
552
// -----------------------------------------------------------------------
553
553
//
554
554
// "A 'value' is a totally ordered basic_value..."
@@ -560,13 +560,13 @@ auto basic_value(meta::type_declaration& t) -> void;
560
560
//
561
561
auto value (meta::type_declaration& t) -> void;
562
562
563
- #line 660 "reflect.h2"
563
+ #line 655 "reflect.h2"
564
564
auto weakly_ordered_value (meta::type_declaration& t) -> void;
565
565
566
- #line 666 "reflect.h2"
566
+ #line 661 "reflect.h2"
567
567
auto partially_ordered_value (meta::type_declaration& t) -> void;
568
568
569
- #line 673 "reflect.h2"
569
+ #line 668 "reflect.h2"
570
570
// -----------------------------------------------------------------------
571
571
//
572
572
// "By definition, a `struct` is a `class` in which members
@@ -594,7 +594,7 @@ auto partially_ordered_value(meta::type_declaration& t) -> void;
594
594
//
595
595
auto cpp2_struct (meta::type_declaration& t) -> void;
596
596
597
- #line 716 "reflect.h2"
597
+ #line 711 "reflect.h2"
598
598
// =======================================================================
599
599
// Switch to Cpp1: Close namespace cpp2 and reopen it in Cpp1 code
600
600
}
@@ -726,15 +726,9 @@ auto polymorphic_base(meta::type_declaration& t) -> void
726
726
if (!(std::move (has_dtor))) {
727
727
add_virtual_destructor (t);
728
728
}
729
-
730
- { auto const & cpp2_range = CPP2_UFCS_0 (get_member_objects, t); for ( auto const & mo : cpp2_range ) {
731
- CPP2_UFCS (require, mo, CPP2_UFCS (has_name, mo, " this" ),
732
- " polymorphic base types may not contain data" );
733
- }}
734
- #line 517 "reflect.h2"
735
729
}
736
730
737
- #line 540 "reflect.h2"
731
+ #line 535 "reflect.h2"
738
732
auto ordered_impl (
739
733
meta::type_declaration& t,
740
734
cpp2::in<std::string_view> ordering
@@ -754,32 +748,32 @@ auto ordered_impl(
754
748
}
755
749
}}
756
750
757
- #line 559 "reflect.h2"
751
+ #line 554 "reflect.h2"
758
752
if (!(std::move (has_spaceship))) {
759
753
CPP2_UFCS (require, t, CPP2_UFCS (add_member, t, " operator<=>: (this, that) -> std::" + (cpp2::as_<std::string>(ordering)) + " ;" ),
760
754
" could not add operator<=> with std::" + (cpp2::as_<std::string>(ordering)));
761
755
}
762
756
}
763
757
764
- #line 570 "reflect.h2"
758
+ #line 565 "reflect.h2"
765
759
auto ordered (meta::type_declaration& t) -> void
766
760
{
767
761
ordered_impl (t, " strong_ordering" );
768
762
}
769
763
770
- #line 578 "reflect.h2"
764
+ #line 573 "reflect.h2"
771
765
auto weakly_ordered (meta::type_declaration& t) -> void
772
766
{
773
767
ordered_impl (t, " weak_ordering" );
774
768
}
775
769
776
- #line 586 "reflect.h2"
770
+ #line 581 "reflect.h2"
777
771
auto partially_ordered (meta::type_declaration& t) -> void
778
772
{
779
773
ordered_impl (t, " partial_ordering" );
780
774
}
781
775
782
- #line 609 "reflect.h2"
776
+ #line 604 "reflect.h2"
783
777
auto basic_value (meta::type_declaration& t) -> void
784
778
{
785
779
// If the user explicitly wrote any of the copy/move functions,
@@ -810,14 +804,14 @@ auto basic_value(meta::type_declaration& t) -> void
810
804
" a value type may not have a non-public destructor" );
811
805
}}
812
806
813
- #line 639 "reflect.h2"
807
+ #line 634 "reflect.h2"
814
808
if (!(std::move (has_default_ctor))) {
815
809
CPP2_UFCS (require, t, CPP2_UFCS (add_member, t, " operator=: (out this) = { }" ),
816
810
" could not add default constructor" );
817
811
}
818
812
}
819
813
820
- #line 654 "reflect.h2"
814
+ #line 649 "reflect.h2"
821
815
auto value (meta::type_declaration& t) -> void
822
816
{
823
817
ordered (t);
@@ -836,7 +830,7 @@ auto partially_ordered_value(meta::type_declaration& t) -> void
836
830
basic_value (t);
837
831
}
838
832
839
- #line 698 "reflect.h2"
833
+ #line 693 "reflect.h2"
840
834
auto cpp2_struct (meta::type_declaration& t) -> void
841
835
{
842
836
{ auto && cpp2_range = CPP2_UFCS_0 (get_members, t); for ( auto & m : cpp2_range )
@@ -851,11 +845,11 @@ auto cpp2_struct(meta::type_declaration& t) -> void
851
845
" a struct may not have a user-defined operator=" );
852
846
}
853
847
}}
854
- #line 712 "reflect.h2"
848
+ #line 707 "reflect.h2"
855
849
basic_value (t); // a plain_struct is-a basic_value
856
850
}
857
851
858
- #line 718 "reflect.h2"
852
+ #line 713 "reflect.h2"
859
853
}
860
854
861
855
#endif
0 commit comments