Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Downloads
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Calendar
  - Forums
  - IRC
  - Community Discord
  - Wiki
  - GitHub
  - Issues
  - Get involved
  - Contributors
  - Foundation
  - Security Team
  - Donate
  - Sponsors
- Resources
  - Tour
  - Books
  - Tutorials
  - Tools
  - Editors
  - IDEs
  - run.dlang.io
  - Visual D
  - Acknowledgments
  - D Style
  - Glossary
  - Sitemap

Search
Report a bug
If you spot a problem with this page, click here to create a Bugzilla 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 using a local clone.

# rt.arrayassign

Implementation of array assignment support routines.
License:
Distributed under the Boost Software License 1.0.
Authors:
Walter Bright, Kenji Hara

Source rt/arrayassign.d

void[] `_d_arrayassign`(TypeInfo `ti`, void[] `from`, void[] `to`);
  Keep for backward binary compatibility. This function can be removed in the future.
void[] `_d_arrayassign_l`(TypeInfo `ti`, void[] `src`, void[] `dst`, void* `ptmp`);
  Does array assignment (not construction) from another lvalue array of the same element type. Handles overlapping copies.

  Input ti TypeInfo of the element type. dst Points target memory. Its .length is equal to the element count, not byte length. src Points source memory. Its .length is equal to the element count, not byte length. ptmp Temporary memory for element swapping.

void[] `_d_arrayassign_r`(TypeInfo `ti`, void[] `src`, void[] `dst`, void* `ptmp`);
  Does array assignment (not construction) from another rvalue array of the same element type.

  Input ti TypeInfo of the element type. dst Points target memory. Its .length is equal to the element count, not byte length. src Points source memory. Its .length is equal to the element count, not byte length. It is always allocated on stack and never overlapping with dst. ptmp Temporary memory for element swapping.

void[] `_d_arrayctor`(TypeInfo `ti`, void[] `from`, void[] `to`);
  Does array initialization (not assignment) from another array of the same element type. ti is the element type.
void* `_d_arraysetassign`(void* `p`, void* `value`, int `count`, TypeInfo `ti`);
  Do assignment to an array. p[0 .. count] = value;
void* `_d_arraysetctor`(void* `p`, void* `value`, int `count`, TypeInfo `ti`);
  Do construction of an array. ti[count] p = value;

Copyright © 1999-2021 by the D Language Foundation | Page generated by Ddoc on Fri Apr 23 18:58:56 2021