View source code
							
							
						
								Display the source code in core/memory.d from which this
								page was generated on github.
							
						
							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
								local clone.
							
						Function core.memory.GC.extend
Requests that the managed memory block referenced by p be extended in place by at least mx bytes, with a desired extension of sz bytes. If an extension of the required size is not possible or if p references memory not originally allocated by this garbage collector, no action will be taken.
						
					
				Parameters
| Name | Description | 
|---|---|
| p | A pointer to the root of a valid memory block or to null. | 
| mx | The minimum extension size in bytes. | 
| sz | The desired extension size in bytes. | 
| ti | TypeInfo to describe the full memory block. The GC might use this information to improve scanning for pointers or to call finalizers. | 
Returns
The size in bytes of the extended memory block referenced by p or zero if no extension occurred.
Note
Extend may also be used to extend slices (or memory blocks with
  APPENDABLE info). However, use the return value only
  as an indicator of success. capacity should be used to
  retrieve actual usable slice capacity.
Example
Standard extending
size_t size = 1000;
int* p = cast(int*)GCExample
slice extending
int[] slice = new int[](1000);
int*  p     = sliceAuthors
Sean Kelly, Alex Rønne Petersen
License
					Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.