dmd.dstruct
Struct and union declarations.
Specification: Structs, Unions
License
Source: dstruct.d
Documentation: https://dlang.org/phobos/dmd_dstruct.html
-
Declaration
FuncDeclaration
search_toString
(StructDeclarationsd
);Search
sd
for a member function of the form:extern (D) string toString();
Parameters
StructDeclaration
sd
struct declaration to search
Return Value
FuncDeclaration of
toString()
if found,null
if not -
Declaration
void
semanticTypeInfo
(Scope*sc
, Typet
);Request additional semantic analysis for TypeInfo generation.
Parameters
Scope*
sc
context
Type
t
type that TypeInfo is being generated for
-
Declaration
class
StructDeclaration
: dmd.aggregate.AggregateDeclaration;All
struct
declarations are an instance of this.-
Declaration
final bool
fit
(ref const Locloc
, Scope*sc
, Expressions*elements
, Typestype
);Fit
elements
[] to the corresponding types of the struct's fields.Parameters
Loc
loc
location to use for error messages
Scope*
sc
context
Expressions*
elements
explicit arguments used to construct object
Type
stype
the constructed object type.
Return Value
false
if any errors occur, otherwisetrue
andelements
[] are rewritten for the output. -
Declaration
final bool
isPOD
();Determine if struct is POD (Plain Old Data).
Discussion
POD is defined as:
- not nested
- no postblits, destructors, or assignment operators
- no
ref
fields or fields that are themselves non-POD
Return Value
true
if struct is POD -
Declaration
final bool
hasRegularCtor
(boolcheckDisabled
= false);Verifies whether the struct declaration has a constructor that is not a copy constructor. Optionally, it can check whether the struct declaration has a regular constructor, that is not disabled.
Parameters
bool
checkDisabled
if the struct has a regular non-disabled constructor
Return Value
true
, if the struct has a regular (optionally, not disabled) constructor,false
otherwise.
-
-
Declaration
class
UnionDeclaration
: dmd.dstruct.StructDeclaration;Unions are a variation on structs.