< Ada Programming < Libraries 
 
 
      
Ada. Time-tested, safe and secure.
This language feature is available from Ada 95 on. Interfaces.C.Pointers is a unit of the Predefined Language Environment since Ada 95.
Specification
-- Standard Ada library specification -- Copyright (c) 2003-2018 Maxim Reznik <reznikmm@gmail.com> -- 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 -- -------------------------------------------------------------------------generictypeIndexis(<>);typeElementisprivate;typeElement_Arrayisarray(Indexrange<>)ofaliasedElement; Default_Terminator : Element;packageInterfaces.C.PointersispragmaPreelaborate (Pointers);typePointerisaccessallElement;functionValue (Ref :inPointer; Terminator :inElement := Default_Terminator)returnElement_Array;functionValue (Ref :inPointer; Length :inptrdiff_t)returnElement_Array; Pointer_Error :exception; -- C-style Pointer arithmeticfunction"+" (Left :inPointer; Right :inptrdiff_t)returnPointer;function"+" (Left :inptrdiff_t; Right :inPointer)returnPointer;function"-" (Left :inPointer; Right :inptrdiff_t)returnPointer;function"-" (Left :inPointer; Right :inPointer)returnptrdiff_t;procedureIncrement (Ref :inoutPointer);procedureDecrement (Ref :inoutPointer);pragmaConvention (Intrinsic, "+");pragmaConvention (Intrinsic, "-");pragmaConvention (Intrinsic, Increment);pragmaConvention (Intrinsic, Decrement);functionVirtual_Length (Ref :inPointer; Terminator :inElement := Default_Terminator)returnptrdiff_t;procedureCopy_Terminated_Array (Source :inPointer; Target :inPointer; Limit :inptrdiff_t := ptrdiff_t'Last; Terminator :inElement := Default_Terminator);procedureCopy_Array (Source :inPointer; Target :inPointer; Length :inptrdiff_t);endInterfaces.C.Pointers;
See also
Wikibook
External examples
- Search for examples of Interfaces.C.Pointersin: Rosetta Code, GitHub or this Wikibook.
- Search for any post related to Interfaces.C.Pointersin: Stack Overflow, comp.lang.ada or any Ada related page.
Ada Reference Manual
Ada 95
Ada 2005
Ada 2012
Open-Source Implementations
FSF GNAT
- Specification: i-cpoint.ads
- Body: i-cpoint.adb
drake
- Specification: interfaces/i-cpoint.ads
- Body: interfaces/i-cpoint.adb
    This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.