From: Georg Bauhaus <rm.dash-bauhaus@futureapps.de>
Subject: Re: Ada-Singleton-Why does it work like this?
Date: Wed, 25 Mar 2009 12:26:40 +0100
Date: 2009-03-25T12:26:41+01:00 [thread overview]
Message-ID: <49ca14f1$0$30231$9b4e6d93@newsspool1.arcor-online.net> (raw)
In-Reply-To: <19a1c6cf-4e4d-402c-902d-3ea2055b4779@c11g2000yqj.googlegroups.com>
patrick.gunia@googlemail.com schrieb:
> Still I don�t get how the unconstrained type limits the
> number of instances to 1.
It does, but outside package Singleton only.
The (<>) forces initialization.
The "limited" part prevents assignment (thus copying).
The type is private.
Any object to be created in whichever way must be
initialized because of (<>). Initialization is not
possible outside the package because Singleton_Type
has discriminants unknown outside the package.
Also, any object of the public Singleton_Type cannot be
assigned a new value (because it is limited).
The only place where objects of type Singleton_Type
can be created is where the full definition
of type Singleton_Type is visible.
The only way to get a reference to the object is
through function return_Single. This function
always returns the same access value, hence clients
of package Singleton always use the same (invisible)
object.
next prev parent reply other threads:[~2009-03-25 11:26 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 [this message]
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
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