comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <stephen.a.leake.1@gsfc.nasa.gov>
Subject: Re: Generic default parameters
Date: 10 May 2002 18:14:25 -0400
Date: 2002-05-10T22:20:49+00:00	[thread overview]
Message-ID: <uvg9v1whq.fsf@gsfc.nasa.gov> (raw)
In-Reply-To: MPG.1745f522613b2fb598968d@news.ip-plus.net

Thomas Wolf <t_wolf@angelfire.com> writes:

> 5. Linked to (3) above: some way to specify a storage pool that
>    is equal to whatever pool the compiler would use if no
>    "for Some_Access'Storage_Pool use ..." clause was present, i.e.
>    a generic way to refer to the standard storage pool of a type
>    without referring to the type. Something like
> 
>    generic
>       type Something is private;
>       Pool : in out System.Storage_Pools.Root_Storage_Pool'Class := <>;
>    package X is
>       type Some_Access is access all Something;
>       for Some_Access'Storage_Pool use Pool;
>       ...
> 
>    and if an instantiation provides an actual for 'Pool', that will
>    be taken as the storage pool of type 'Some_Access', but if an
>    instantiation doesn't provide an actual, 'Some_Access' will use
>    a standard storage pool.
> 
>    Not sure if point (5) makes sense, especially since it would be
>    useful only for storage pools, but make no sense at all for other
>    types...

I think a cleaner solution to 5 is a standard name for the standard
storage pool, combined with 3 (default object for "in out"). So we'd
have:

  generic
     type Something is private;
     Pool : in out System.Storage_Pools.Root_Storage_Pool'Class := 
         System.Storage_Pools.Default_Storage_Pool;
  package X is
     type Some_Access is access all Something;
     for Some_Access'Storage_Pool use Pool;

There may have to be more than one default storage pool; that may be
why there is no standard name now.
  
> Comments, anyone? Would these things be worth to consider for inclusion
> in the next Ada revision? 

I agree they would all be useful, but I have personally only seen the
need for 5 and 3.

-- 
-- Stephe



  parent reply	other threads:[~2002-05-10 22:14 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-10 14:22 Generic default parameters Thomas Wolf
2002-05-10 16:38 ` Preben Randhol
2002-05-10 16:50   ` Marin David Condic
2002-05-11  9:29     ` Simon Wright
2002-05-13 15:03       ` Hyman Rosen
2002-05-11 12:28     ` Preben Randhol
2002-05-13 14:03       ` Marin David Condic
2002-05-13 14:49       ` Hyman Rosen
2002-05-10 19:04   ` Hyman Rosen
2002-05-11 12:23     ` Preben Randhol
2002-05-11 13:49       ` Larry Kilgallen
2002-05-13 14:06       ` Marin David Condic
2002-05-10 19:27   ` Randy Brukardt
2002-05-11 12:32     ` Preben Randhol
2002-05-10 22:14 ` Stephen Leake [this message]
2002-05-13  7:49   ` Thomas Wolf
2002-05-13  8:49 ` Dmitry A. Kazakov
2002-05-13 14:00   ` Stephen Leake
2002-05-13 15:21     ` Dmitry A. Kazakov
2002-05-13 16:42       ` Stephen Leake
2002-05-14 10:24         ` Dmitry A. Kazakov
2002-05-14 14:02           ` Stephen Leake
2002-05-15 10:08             ` Dmitry A. Kazakov
  -- strict thread matches above, loose matches on Subject: below --
2002-05-14  4:57 Grein, Christoph
2002-05-14 10:23 ` Dmitry A. Kazakov
2002-05-14 11:03 Grein, Christoph
2002-05-14 12:01 ` Dmitry A. Kazakov
2002-05-14 14:05   ` Stephen Leake
2002-05-15  8:44     ` Dmitry A. Kazakov
replies disabled

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