Ada Programming/Libraries/System.Storage_Pools.Subpools
This language feature has been introduced in Ada 2012.
System.Storage_Pools.Subpools is a unit of the Predefined Language Environment since Ada 2012.
Specification
-- Standard Ada library specification -- Copyright (c) 2004-2016 AXE Consultants -- Copyright (c) 2004, 2005, 2006 Ada-Europe -- Copyright (c) 2000 The MITRE Corporation, Inc. -- Copyright (c) 1992, 1993, 1994, 1995 Intermetrics, Inc. -- SPDX-License-Identifier: BSD-3-Clause and LicenseRef-AdaReferenceManual -- -------------------------------------------------------------------------packageSystem.Storage_Pools.SubpoolsispragmaPreelaborate (Subpools);typeRoot_Storage_Pool_With_SubpoolsisabstractnewRoot_Storage_Poolwithprivate;typeRoot_Subpoolisabstracttaggedlimitedprivate;typeSubpool_HandleisaccessallRoot_Subpool'Class;forSubpool_Handle'Storage_Sizeuse0;functionCreate_Subpool (Pool :inoutRoot_Storage_Pool_With_Subpools)returnnotnullSubpool_Handleisabstract; -- The following operations are intended for pool implementers:functionPool_of_Subpool (Subpool :notnullSubpool_Handle)returnaccessRoot_Storage_Pool_With_Subpools'Class;procedureSet_Pool_of_Subpool ( Subpool :innotnullSubpool_Handle; To :inoutRoot_Storage_Pool_With_Subpools'Class);procedureAllocate_From_Subpool ( Pool :inoutRoot_Storage_Pool_With_Subpools; Storage_Address :outAddress; Size_In_Storage_Elements :inStorage_Elements.Storage_Count; Alignment :inStorage_Elements.Storage_Count; Subpool :innotnullSubpool_Handle)isabstractwithPre => 'Class => Pool_of_Subpool(Subpool) = Pool'Access;procedureDeallocate_Subpool ( Pool :inoutRoot_Storage_Pool_With_Subpools; Subpool :inoutSubpool_Handle)isabstractwithPre => 'Class => Pool_of_Subpool(Subpool) = Pool'Access;functionDefault_Subpool_for_Pool ( Pool :inoutRoot_Storage_Pool_With_Subpools)returnnotnullSubpool_Handle;overridingprocedureAllocate ( Pool :inoutRoot_Storage_Pool_With_Subpools; Storage_Address :outAddress; Size_In_Storage_Elements :inStorage_Elements.Storage_Count; Alignment :inStorage_Elements.Storage_Count);overridingprocedureDeallocate ( Pool :inoutRoot_Storage_Pool_With_Subpools; Storage_Address :inAddress; Size_In_Storage_Elements :inStorage_Elements.Storage_Count; Alignment :inStorage_Elements.Storage_Count)isnull;overridingfunctionStorage_Size (Pool : Root_Storage_Pool_With_Subpools)returnStorage_Elements.Storage_Countis(Storage_Elements.Storage_Count'Last);private-- not specified by the languageendSystem.Storage_Pools.Subpools;
See also
Wikibook
External examples
- Search for examples of
System.Storage_Pools.Subpoolsin: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook. - Search for posts related to
System.Storage_Pools.Subpoolsin: Stack Overflow, comp.lang.ada or any Ada related page.
Ada Reference Manual
Ada 2012
Open-Source Implementations
FSF GNAT
- Specification: s-stposu.ads
- Body: s-stposu.adb
drake
- Specification: s-stposu.ads
- Body: s-stposu.adb