comp.lang.ada
 help / color / mirror / Atom feed
From: "patrick.gunia@googlemail.com" <patrick.gunia@googlemail.com>
Subject: Re: Ada-Singleton-Why does it work like this?
Date: Wed, 25 Mar 2009 04:55:12 -0700 (PDT)
Date: 2009-03-25T04:55:12-07:00	[thread overview]
Message-ID: <4c6c592f-6b25-43a0-afe4-d2c9375f7ac7@h28g2000yqd.googlegroups.com> (raw)
In-Reply-To: 0c060dc1-ee16-48cd-89cf-5f4f02185ee8@c11g2000yqj.googlegroups.com

On 25 Mrz., 12:46, Ludovic Brenta <ludo...@ludovic-brenta.org> wrote:
> On Mar 25, 11:57 am, "patrick.gu...@googlemail.com"
>
>
>
>
>
> <patrick.gu...@googlemail.com> wrote:
> > Yet another question, if my Singleton_Type is unconstrained, why does
> > Ada allow creating Access-Types to unconstrained types allowing to
> > access there record-properties, while not allowing to create an
> > instance of Singleton_Type directly? I thought that Ada demands a
> > declaration of an instance before creating an Access-Type to access
> > it? Maybe I´m mixing in C++, but if I declare a pointer in C++ I
> > either have to create a new instance using "new" in heap-memory where
> > the pointer points to or I have to use references and then let the
> > pointer point to a reference. In both cases I first have to create an
> > object and then let the pointer point to it. When I use access types
> > in Ada in my example it´s possible to create a pointer to a class
> > which can´t be instantiated, because it is unconstrained. Though it
> > works to access the record-properties using the access-type. Could
> > anyone tell me what I´m getting wrong concerning Ada?
>
> > Thank you!
>
> If you want to declare an access type, you do not need an instance;
> you only need a type, which may be unconstrained:
>
> type T (<>) is limited private;
> type Access_T is access T; -- OK
>
> If you want an access *value*, then you do need an object; either one
> from a storage pool, or a pre-existing one:
>
> Access_Value : Access_T := new T'(...);
> -- storage pool. Possible only in the package declaring T, since T is
> private.
>
> Other_Access_Value : Access_T := Access_Value; -- possible anywhere
>
> Neither Access_Value nor Other_Access_Value allow you to see the
> components of T because T is private.
>
> --
> Ludovic Brenta.

Alright, I mixed this up, you´re right. Slowly all pieces make sense
to me and now I´m starting to get the differences and why the
Singleton-implementation works...
Thank you for your help!



  reply	other threads:[~2009-03-25 11:55 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-24 19:01 Ada-Singleton-Why does it work like this? patrick.gunia
2009-03-24 19:10 ` Pascal Obry
2009-03-24 20:47 ` Jeffrey R. Carter
2009-03-25  0:10   ` Martin
2009-03-25  0:41     ` Jeffrey R. Carter
2009-03-25  9:30     ` Dmitry A. Kazakov
2009-03-26  8:55       ` Martin
2009-03-26  9:28         ` Dmitry A. Kazakov
2009-03-26 13:39           ` Maciej Sobczak
2009-03-26 14:07             ` Georg Bauhaus
2009-03-26 14:33               ` Dmitry A. Kazakov
2009-03-26 15:22                 ` Georg Bauhaus
2009-03-26 16:31                   ` Dmitry A. Kazakov
2009-03-26 14:28             ` Dmitry A. Kazakov
2009-03-26 22:00               ` Maciej Sobczak
2009-03-27 10:02                 ` Dmitry A. Kazakov
2009-03-25 22:29   ` sjw
2009-03-24 20:52 ` Ludovic Brenta
2009-03-25  9:59   ` patrick.gunia
2009-03-25 10:29     ` Jean-Pierre Rosen
2009-03-25 11:26     ` Georg Bauhaus
2009-03-25 11:49       ` patrick.gunia
2009-03-29  7:29     ` Jacob Sparre Andersen
2009-03-24 21:21 ` Dmitry A. Kazakov
2009-03-25 10:07   ` patrick.gunia
2009-03-25 10:57     ` patrick.gunia
2009-03-25 11:40       ` Georg Bauhaus
2009-03-25 11:46       ` Ludovic Brenta
2009-03-25 11:55         ` patrick.gunia [this message]
2009-03-25 14:10         ` patrick.gunia
2009-03-25 14:40           ` Ludovic Brenta
2009-03-25 15:16             ` Adam Beneschan
2009-03-25 15:19             ` patrick.gunia
2009-03-25 16:52               ` Georg Bauhaus
2009-03-25 11:10     ` Dmitry A. Kazakov
2009-03-25 11:37       ` patrick.gunia
2009-03-25 12:07         ` Ludovic Brenta
2009-03-25 15:00         ` Robert A Duff
2009-03-25 11:17     ` Jean-Pierre Rosen
2009-03-26  9:04       ` Martin
2009-03-25 11:38     ` Ludovic Brenta
replies disabled

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