comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: How to return an empty aggregate
Date: Sun, 6 Apr 2008 12:53:11 -0700 (PDT)
Date: 2008-04-06T12:53:11-07:00	[thread overview]
Message-ID: <1e92bc4a-3b14-49ba-bc27-5e191d77dc3b@c65g2000hsa.googlegroups.com> (raw)
In-Reply-To: 0742cf95-b2a9-438a-98ac-318f1f1c311e@d1g2000hsg.googlegroups.com

On 6 Kwi, 00:36, george.p...@gmail.com wrote:

> > I would create the derived (concrete) log that is *empty* and does
> > nothing and pass it as Log'Class to wherever it is expected.
> > It cannot be simpler than that.
>
> So you derive concrete from not-empty type?

I derive empty concrete from the interface:

type Log is interface;
procedure Put (L : in Log; S : in String) is abstract;

-- ...

type Null_Log is new Log with null record;
procedure Put (L : in Null_Log; S : in String) is
begin
  -- some pragma here to shut up warnings
  -- about unused parameters
  null;
end Put;

--
Maciej Sobczak *www.msobczak.com*www.inspirel.com



  reply	other threads:[~2008-04-06 19:53 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-01 11:58 How to return an empty aggregate Maciej Sobczak
2008-04-01 12:54 ` Anh Vo
2008-04-01 17:18   ` Adam Beneschan
2008-04-02  7:16     ` Maciej Sobczak
2008-04-01 13:34 ` Dmitry A. Kazakov
2008-04-01 15:00 ` Robert A Duff
2008-04-02  7:19   ` Maciej Sobczak
2008-04-03  5:02     ` george.priv
2008-04-03  9:09       ` Maciej Sobczak
2008-04-04 15:38         ` george.priv
2008-04-04 20:35           ` Maciej Sobczak
2008-04-04 23:58             ` george.priv
2008-04-05 13:48               ` Maciej Sobczak
2008-04-05 16:04                 ` george.priv
2008-04-05 21:14                   ` Maciej Sobczak
2008-04-05 22:36                     ` george.priv
2008-04-06 19:53                       ` Maciej Sobczak [this message]
2008-04-06  7:00                     ` george.priv
2008-04-06 20:04                       ` Maciej Sobczak
2008-04-07 20:23                         ` george.priv
replies disabled

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