View source code
Display the source code in dmd/clone.d from which thispage was generated on github.
Report a bug
If you spot a problem with this page, click here to create aBugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.Requires a signed-in GitHub account. This works well for small changes.If you'd like to make larger changes you may want to consider usinglocal clone.

Function dmd.clone.needCopyOrMoveCtor

Determine if a copy constructor is needed for struct sd, if the following conditions are met:

void needCopyOrMoveCtor(
  StructDeclaration sd,
  out bool hasCopyCtor,
  out bool hasMoveCtor,
  out bool needCopyCtor,
  out bool needMoveCtor
);

1. sd does not define a copy constructor 2. at least one field of sd defines a copy constructor

Parameters

NameDescription
sd the struct for which the copy constructor is generated
hasCopyCtor set to true if a copy constructor is already present
hasMoveCtor set to true if a move constructor is already present
needCopyCtor set to true if a copy constructor is not present, but needed
needMoveCtor set to true if a move constructor is not present, but needed

Returns

true if one needs to be generated false otherwise

Authors

Walter Bright

License

Boost License 1.0