@@ -8,7 +8,7 @@ $(HEADERNAV_TOC)
8
8
Any C struct can be exactly represented as a D struct, except non-static
9
9
$(RELATIVE_LINK2 nested, function-nested D structs) which access the context of
10
10
their enclosing scope.
11
- Structs and unions are meant as simple aggregations of data, or as a way
11
+ Structs and unions are simple aggregations of data, or as a way
12
12
to paint a data structure over hardware or an external type. External
13
13
types can be defined by the operating system API, or by a file format.
14
14
Object oriented features are provided with the class data type.
@@ -18,70 +18,6 @@ $(HEADERNAV_TOC)
18
18
the implementation is free to make bit copies of the struct
19
19
as convenient.)
20
20
21
- $(TABLE2 Struct$(COMMA) Class Comparison Table,
22
- $(THEAD Feature, $(D struct), $(D class), C $(D struct), C++
23
- $(D struct), C++ $(D class))
24
-
25
- $(TROW value type, $(CHECK), $(UNCHECK), $(CHECK), $(CHECK), $(CHECK))
26
- $(TROW reference type, $(UNCHECK), $(CHECK), $(UNCHECK),
27
- $(UNCHECK), $(UNCHECK))
28
- $(TROW data members, $(CHECK), $(CHECK), $(CHECK), $(CHECK), $(CHECK))
29
- $(TROW hidden members, $(CHECK),
30
- $(CHECK), $(UNCHECK), $(CHECK), $(CHECK))
31
- $(TROW static members, $(CHECK), $(CHECK), $(UNCHECK),
32
- $(CHECK), $(CHECK))
33
- $(TROW $(RELATIVE_LINK2 static_struct_init, default member initializers),
34
- $(CHECK), $(CHECK), $(UNCHECK), $(UNCHECK), $(UNCHECK))
35
- $(TROW bit fields, $(UNCHECK), $(UNCHECK), $(CHECK), $(CHECK),
36
- $(CHECK))
37
- $(TROW non-virtual member functions, $(CHECK), $(CHECK),
38
- $(UNCHECK), $(CHECK), $(CHECK))
39
- $(TROW virtual member functions, $(UNCHECK), $(CHECK),
40
- $(UNCHECK), $(CHECK), $(CHECK))
41
- $(TROW $(RELATIVE_LINK2 struct-constructor, constructors), $(CHECK),
42
- $(CHECK), $(UNCHECK), $(CHECK), $(CHECK))
43
- $(TROW $(RELATIVE_LINK2 struct-postblit, postblit)/copy constructors,
44
- $(CHECK), $(UNCHECK), $(UNCHECK), $(CHECK), $(CHECK))
45
- $(TROW $(RELATIVE_LINK2 struct-destructor, destructors), $(CHECK),
46
- $(CHECK), $(UNCHECK), $(CHECK), $(CHECK))
47
- $(TROW $(GLINK2 class, SharedStaticConstructor)s, $(CHECK),
48
- $(CHECK), $(UNCHECK), $(UNCHECK), $(UNCHECK))
49
- $(TROW $(GLINK2 class, SharedStaticDestructor)s, $(CHECK),
50
- $(CHECK), $(UNCHECK), $(UNCHECK), $(UNCHECK))
51
- $(TROW RAII, $(CHECK), $(CHECK), $(UNCHECK), $(CHECK), $(CHECK))
52
- $(TROW $(RELATIVE_LINK2 assign-overload, identity assign overload), $(CHECK),
53
- $(UNCHECK), $(UNCHECK), $(CHECK), $(CHECK))
54
- $(TROW $(RELATIVE_LINK2 struct-literal, literals), $(CHECK), $(UNCHECK),
55
- $(UNCHECK), $(UNCHECK), $(UNCHECK))
56
- $(TROW operator overloading, $(CHECK), $(CHECK), $(UNCHECK),
57
- $(CHECK), $(CHECK))
58
- $(TROW inheritance, $(UNCHECK), $(CHECK), $(UNCHECK),
59
- $(CHECK), $(CHECK))
60
- $(TROW invariants, $(CHECK), $(CHECK), $(UNCHECK), $(UNCHECK),
61
- $(UNCHECK))
62
- $(TROW unit tests, $(CHECK), $(CHECK), $(UNCHECK), $(UNCHECK),
63
- $(UNCHECK))
64
- $(TROW synchronizable, $(UNCHECK), $(CHECK), $(UNCHECK), $(UNCHECK),
65
- $(UNCHECK))
66
- $(TROW parameterizable, $(CHECK), $(CHECK), $(UNCHECK),
67
- $(CHECK), $(CHECK))
68
- $(TROW alignment control, $(CHECK), $(CHECK), $(UNCHECK),
69
- $(UNCHECK), $(UNCHECK))
70
- $(TROW member protection, $(CHECK), $(CHECK), $(UNCHECK),$(CHECK),$(CHECK))
71
- $(TROW default public, $(CHECK), $(CHECK), $(CHECK),$(CHECK), $(UNCHECK))
72
- $(TROW tag name space, $(UNCHECK), $(UNCHECK), $(CHECK),
73
- $(CHECK), $(CHECK))
74
- $(TROW anonymous, $(CHECK), $(UNCHECK), $(CHECK), $(CHECK), $(CHECK))
75
- $(TROW static constructor, $(CHECK), $(CHECK), $(UNCHECK),
76
- $(UNCHECK), $(UNCHECK))
77
- $(TROW static destructor, $(CHECK), $(CHECK), $(UNCHECK),
78
- $(UNCHECK), $(UNCHECK))
79
- $(TROW const/immutable/shared, $(CHECK), $(CHECK), $(UNCHECK),
80
- $(UNCHECK), $(UNCHECK))
81
- $(TROW inner nesting, $(RELATIVE_LINK2 nested, $(CHECK)),
82
- $(DDSUBLINK spec/class, nested, $(CHECK)), $(UNCHECK), $(UNCHECK), $(UNCHECK))
83
- )
84
-
85
21
$(GRAMMAR
86
22
$(GNAME AggregateDeclaration):
87
23
$(GLINK2 class, ClassDeclaration)
0 commit comments