Ada 编程/库/Interfaces.C.Pointers
外观
此语言功能从 Ada 95 开始可用。
接口.C.指针 是自 Ada 95 以来 预定义语言环境 的一个单元。
-- 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;
外部示例
[编辑源代码]- 在以下位置搜索
Interfaces.C.Pointers的 示例:Rosetta Code,GitHub (gists),任何 Alire 包 或 本华夏公益教科书。 - 在以下位置搜索与
Interfaces.C.Pointers相关的 帖子:Stack Overflow,comp.lang.ada 或 任何与 Ada 相关的页面。
FSF GNAT
- 规范:i-cpoint.ads
- 主体:i-cpoint.adb
drake
