comp.lang.ada
 help / color / mirror / Atom feed
From: "G.B." <bauhaus@notmyhomepage.invalid>
Subject: Non-standard functions in GNAT's Ada.Containers packages?
Date: Wed, 14 Sep 2022 14:36:07 +0200	[thread overview]
Message-ID: <tfshro$2umbi$1@dont-email.me> (raw)

In Ada.Containers.{Kind}s of GCC 11.2, I find functions defined
by the pattern:

   function Empty (Capacity : Count_Type := 1000) return {Kind};

I couldn't find these functions in the LRM's package specifications.

Upon type derivation, then, these functions appear to require
non-portable source text when using GNAT's standard Ada
containers.  For example,

     package Real_Vectors is new Ada.Containers.Vectors (...);
     type Fancy_Vectors is new Real_Vectors.Vector with private;

     18.     type Fancy_Vectors is new Real_Vectors.Vector with record
                  |
         >>> type must be declared abstract or "Empty" overridden
         >>> "Empty" has been inherited at line 14
         >>> "Empty" has been inherited from subprogram at a-convec.ads:125, instance at line 8


While composition would not incur this effect, etc. etc., still
the resulting source text would need to override a "standard" function,
but this function, Empty, might not exist at all when using other
standard Ada compilers.

Am I missing something?

             reply	other threads:[~2022-09-14 12:36 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-14 12:36 G.B. [this message]
2022-09-14 16:04 ` Non-standard functions in GNAT's Ada.Containers packages? Egil H H
2022-09-15  7:13   ` G.B.
2022-09-15 14:26     ` Marius Amado-Alves
2022-09-15 15:03       ` Niklas Holsti
2022-09-15 17:11         ` Marius Amado-Alves
2022-09-15 17:22           ` Dmitry A. Kazakov
2022-09-16 16:03             ` Marius Amado-Alves
2022-09-16 16:30               ` Marius Amado-Alves
2022-09-16 17:08                 ` Jere
2022-09-16 11:33           ` Björn Lundin
2022-09-16 15:00             ` Marius Amado-Alves
2022-09-16 15:42               ` Egil H H
2022-09-16 18:53               ` Björn Lundin
2022-09-16 15:47           ` Jere
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox