comp.lang.ada
 help / color / mirror / Atom feed
From: Graham <graham.stark@virtual-worlds.biz>
Subject: using an Ada.Container as a private type
Date: Thu, 3 Apr 2008 08:29:28 -0700 (PDT)
Date: 2008-04-03T08:29:28-07:00	[thread overview]
Message-ID: <42c84166-c7e4-42e0-b1bf-2104d3bb0cda@e10g2000prf.googlegroups.com> (raw)

Hi,
    I'm writing a little financial application. I want to model a
stream of payments made at arbitrary periods (the periods are positive
numbers; they might be actual dates later on).

I think I want to declare this:


type Payment_Stream is private;

procedure Add_To_Payment_Stream(
            stream : in out Payment_Stream;
            period :  Positive;
            amount : Money );

......

and then privately declare the payment stream as an Ordered Map, like:

private

   package Payment_Stream_Package is new Ada.Containers.Ordered_Maps(
      Element_Type => Money,
      Key_Type => Positive );

   type Payment_Stream is new Payment_Stream_Package.Map;

but I can't do this. Gnat complains that "type derived from tagged
type must have extension".
I'm fairly new to Ada but thought I was getting on top of it! What is
the principal that stops me doing this? What should I do instead?

thanks,

Graham Stark



             reply	other threads:[~2008-04-03 15:29 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-03 15:29 Graham [this message]
2008-04-03 16:00 ` using an Ada.Container as a private type Robert A Duff
2008-04-03 16:02 ` Dmitry A. Kazakov
2008-04-03 16:20   ` Graham
2008-04-03 20:41 ` Maciej Sobczak
2008-04-04  8:02   ` Graham
2008-04-04 15:57     ` Adam Beneschan
2008-04-04 17:25     ` Robert A Duff
2008-04-04 19:37       ` Simon Wright
replies disabled

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