Ada 编程/库/Interfaces.C.Pointers
外观
此语言功能从 Ada 95 开始可用。
接口.C.指针 是自 Ada 95 以来 预定义语言环境 的一个单元。
-- Standard Ada library specification -- Copyright (c) 2003-2018 Maxim Reznik <[email protected]> -- 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 -- -------------------------------------------------------------------------generic
type
Indexis
(<>);type
Elementis
private
;type
Element_Arrayis
array
(Indexrange
<>)of
aliased
Element; Default_Terminator : Element;package
Interfaces.C.Pointersis
pragma
Preelaborate (Pointers);type
Pointeris
access
all
Element;function
Value (Ref :in
Pointer; Terminator :in
Element := Default_Terminator)return
Element_Array;function
Value (Ref :in
Pointer; Length :in
ptrdiff_t)return
Element_Array; Pointer_Error :exception
; -- C-style Pointer arithmeticfunction
"+" (Left :in
Pointer; Right :in
ptrdiff_t)return
Pointer;function
"+" (Left :in
ptrdiff_t; Right :in
Pointer)return
Pointer;function
"-" (Left :in
Pointer; Right :in
ptrdiff_t)return
Pointer;function
"-" (Left :in
Pointer; Right :in
Pointer)return
ptrdiff_t;procedure
Increment (Ref :in
out
Pointer);procedure
Decrement (Ref :in
out
Pointer);pragma
Convention (Intrinsic, "+");pragma
Convention (Intrinsic, "-");pragma
Convention (Intrinsic, Increment);pragma
Convention (Intrinsic, Decrement);function
Virtual_Length (Ref :in
Pointer; Terminator :in
Element := Default_Terminator)return
ptrdiff_t;procedure
Copy_Terminated_Array (Source :in
Pointer; Target :in
Pointer; Limit :in
ptrdiff_t := ptrdiff_t'Last; Terminator :in
Element := Default_Terminator);procedure
Copy_Array (Source :in
Pointer; Target :in
Pointer; Length :in
ptrdiff_t);end
Interfaces.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