comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: generic question
Date: Wed, 22 Nov 2006 18:02:55 -0600
Date: 2006-11-22T18:02:55-06:00	[thread overview]
Message-ID: <rbqdnacZf6OSePnYnZ2dnUVZ_rmdnZ2d@megapath.net> (raw)
In-Reply-To: 1164132849.967832.310430@k70g2000cwa.googlegroups.com

"Matthew Heaney" <mheaney@on2.com> wrote in message
news:1164132849.967832.310430@k70g2000cwa.googlegroups.com...
>
> Pascal Obry wrote:
> >
> > You are saying that for every anonymous access type you need to declare
> > a named access type from which allocate/deallocate.
>
> Yes, to implement the factory function and destructor for a (tagged)
> type.  But that's internal to the package that declares the tagged
> type.  The factory function (called by a user of the package to create
> instances of this specific type) should return an anonymous access type
> as its return type.

I don't think a factory function should ever return an access-to-object: it
should return the object itself. If the client needs to allocate that
dynamically, it can; else it can use the function for an appropriate static
initialization.

It has been argued that sometimes you don't want those constructors to be
inherited. In that case, it should return a classwide type, because even
access-to-object is considered primitive and thus inherited.

But, of course, YMMV.

                           Randy.





  reply	other threads:[~2006-11-23  0:02 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-19 18:03 generic question markww
2006-11-19 19:17 ` Ludovic Brenta
2006-11-19 19:23   ` Stefan Bellon
2006-11-19 20:16     ` markww
2006-11-19 22:07     ` Pascal Obry
2006-11-20 10:35       ` Alex R. Mosteo
2006-11-20 17:03         ` Pascal Obry
2006-11-20 18:10           ` Alex R. Mosteo
2006-11-20 21:16             ` markww
2006-11-20 21:40               ` Matthew Heaney
2006-11-20 21:50       ` Matthew Heaney
2006-11-21  7:04         ` Pascal Obry
2006-11-21  8:25           ` Alex R. Mosteo
2006-11-21 14:25             ` Matthew Heaney
2006-11-21 15:47               ` Matthew Heaney
2006-11-21 17:14                 ` Pascal Obry
2006-11-21 18:15                   ` Matthew Heaney
2006-11-21 18:28                     ` Dmitry A. Kazakov
2006-11-21 14:21           ` Matthew Heaney
2006-11-21 17:12             ` Pascal Obry
2006-11-21 17:25               ` Lutz Donnerhacke
2006-11-21 17:35                 ` Alex R. Mosteo
2006-11-21 18:18                 ` Matthew Heaney
2006-11-22 23:58                 ` Randy Brukardt
2006-11-23  8:32                   ` Dmitry A. Kazakov
2006-11-28 21:23                     ` Randy Brukardt
2006-11-29 15:57                       ` Matthew Heaney
2006-11-21 18:14               ` Matthew Heaney
2006-11-23  0:02                 ` Randy Brukardt [this message]
2006-11-21 18:17               ` Dmitry A. Kazakov
2006-11-21 18:32                 ` Matthew Heaney
2006-11-19 20:24 ` Jeffrey R. Carter
2006-11-19 20:33   ` markww
2006-11-20 17:31 ` Adam Beneschan
2006-11-21 16:22 ` Matthew Heaney
  -- strict thread matches above, loose matches on Subject: below --
2003-11-23 20:59 shoko
2003-11-23 21:41 ` Marius Amado Alves
replies disabled

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