From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: Victor Porton Newsgroups: comp.lang.ada Subject: Logical constants Date: Fri, 29 Sep 2017 21:12:50 +0300 Organization: Aioe.org NNTP Server Message-ID: NNTP-Posting-Host: 9OC/PY8QRnnqnNGuo4rrrw.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7Bit X-Complaints-To: abuse@aioe.org User-Agent: KNode/4.14.10 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:48258 Date: 2017-09-29T21:12:50+03:00 List-Id: I pass a private type T (whose full type is a record) containing a Handle to a subprogram. (In fact, a handle is a pointer to a C struct.) All such subprograms can be written as subprograms with "in" mode for T, because they do not modify the handle. But some of these programs logically modify the corresponding C object (without modifying the handle itself, they may modify the struct the handle points to). Should I pass T arguments to such subprograms in "in out" mode? To use "in" only is allowed by the language rules, but logically them are "in out". What are the arguments for using either "in" or "in out" in this case? -- Victor Porton - http://portonvictor.org