comp.lang.ada
 help / color / mirror / Atom feed
From: Dmitry A. Kazakov <mailbox@dmitry-kazakov.de>
Subject: Re: Task discriminants
Date: Fri, 21 May 2004 09:57:53 +0200
Date: 2004-05-21T09:57:53+02:00	[thread overview]
Message-ID: <nmcra059etanorbcqb5gl7mf4svl5nvra7@4ax.com> (raw)
In-Reply-To: 3191556.otblUWQ27X@linux1.krischik.com

On Thu, 20 May 2004 19:30:57 +0200, Martin Krischik
<krischik@users.sourceforge.net> wrote:

>Dave Levy wrote:
>
>> Suppose one has a task type with a discriminant:
>> 
>>     task type A_Task( Id : integer);
>> 
>> and one wishes to declare a set of tasks with initialised discriminants:
>>     t1 : A_Task(1);
>>     t2 : A_Task(2);
>>     t3 : A_Task(3);
>> 
>> How could one declare them as an array of tasks with each one getting an
>> initialised discriminant? Perhaps something like:
>> 
>>     The_Tasks: array (1..3) of A_Task( Id => 1,2,3 );

Ada does not have constructors with parameters, alas.

>> Except I tried this with Gnat and it won't compile.
>
>Of corse not! Tasks are indefinite type and can't be stored in arrays. You
>can store an access to a task in an array.
>
>With Regards
>
>Martin
>
>PS: I could not find anything in the RM: Does anybody know if task are also
>limited.

Task types are indeed limited. This does not prevent us from having
arrays of tasks. A task type as above with an integer discriminant
will be unconstrained not because it is a task, but because Id has no
default value. The solution Martin Dowie proposed shows it.

Though, why one should want an Id discriminant, if there is the
package Ada.Task_Identification?

--
Regards,
Dmitry Kazakov
www.dmitry-kazakov.de



  reply	other threads:[~2004-05-21  7:57 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-20 14:47 Task discriminants Dave Levy
2004-05-20 17:17 ` David C. Hoos
2004-05-20 18:37   ` Martin Dowie
2004-05-21  0:39     ` Georg Bauhaus
2004-05-21  1:04       ` Jeffrey Carter
2004-05-21  9:43     ` Phil Slater
2004-05-21 12:43       ` Martin Dowie
2004-05-21 19:42         ` Randy Brukardt
2004-05-21 22:05           ` Martin Dowie
     [not found]           ` <c8luk4$29b$1@hercules.btinternet.com>
2004-05-21 23:16             ` Randy Brukardt
2004-05-22  7:55               ` Martin Dowie
2004-05-24 21:34                 ` Randy Brukardt
2004-05-25  5:48                   ` Martin Dowie
2004-05-25 20:25                     ` Randy Brukardt
2004-05-25 22:40                       ` Martin Dowie
2004-05-20 17:30 ` Martin Krischik
2004-05-21  7:57   ` Dmitry A. Kazakov [this message]
2004-06-04 12:59     ` Andersen Jacob Sparre
2004-05-21 16:46   ` Robert I. Eachus
2004-05-22  7:54     ` Martin Dowie
2004-05-22 16:18     ` Pascal Obry
2004-05-24 21:36       ` Randy Brukardt
2004-05-25 21:22       ` Robert I. Eachus
2004-06-04 23:26 ` Nick Roberts
2004-06-07 22:12   ` Karen
replies disabled

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