comp.lang.ada
 help / color / mirror / Atom feed
From: mheaney@on2.com (Matthew Heaney)
Subject: Re: using charles library
Date: 27 May 2003 13:24:20 -0700
Date: 2003-05-27T20:24:20+00:00	[thread overview]
Message-ID: <1ec946d1.0305271224.7f4b3b0f@posting.google.com> (raw)
In-Reply-To: d3ba4d4c.0305260527.52e7ee57@posting.google.com

rm@gunlab.com.ru (Roman V. Isaev) wrote in message news:<d3ba4d4c.0305260527.52e7ee57@posting.google.com>...
> I'm learning the ropes, so it might be stupid question but I tried
> use charles.maps.sorted.strings.unbounded (used sample code by 
> mheaney@on2.com from this newsgroup archive):
> 
> with Charles.Maps.Sorted.Strings.Unbounded;
> with Charles.Strings.Unbounded; use Charles.Strings.Unbounded;
> 
> package body gettext is
> 
>    package Translation_Tables is
>       new Charles.Maps.Sorted.Strings.Unbounded
>         (Element_Type => Charles.Strings.Unbounded.Container_Type);
> 
>    TT : Translation_Tables.Container_Type;
> 
> ........
> 
>    procedure load_mo_file is
> 
> ........
> 
>          Insert(TT, "key", Element => To_Container("value"));
> 
> 
> 	When I try to compile I get following error: 


The parameter name is incorrect (as was already pointed out), but you
also need a use clause:

  TT : Translation_Tables.Container_Type;
  use Translation_Tables;
...
  Insert (TT, "key", To_Container ("value"));

If you're manipulating string containers (Charles.Strings.Unbounded,
etc), then it may be easier to define a conversion operator:

  function "+" (S : String) 
    return Charles.Strings.Unbounded.Container_Type
    renames To_Container;

This allows you to say:

  Insert (TT, "key", +"value");

In C++, the string ctor allows type conversions be made silently (i.e.
there is no syntactic penalty), but Ada requires type conversions to
be explicit.



      parent reply	other threads:[~2003-05-27 20:24 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-26 13:27 using charles library Roman V. Isaev
2003-05-26 13:40 ` Preben Randhol
2003-05-26 16:44   ` Roman V. Isaev
2003-05-26 17:05     ` Preben Randhol
2003-05-26 17:10       ` Preben Randhol
2003-05-26 22:05         ` Roman V. Isaev
2003-05-26 17:16     ` Jeffrey Carter
2003-05-27 15:05       ` Matthew Heaney
2003-05-27 18:28         ` Stephen Leake
2003-05-26 17:20     ` Preben Randhol
2003-05-26 22:46       ` Roman V. Isaev
2003-05-27  4:35         ` Gautier Write-only
2003-05-29 17:29           ` Roman V. Isaev
2003-05-29 18:56             ` Gautier Write-only
2003-05-29 23:19             ` Gautier Write-only
2003-05-30  7:56               ` Roman V. Isaev
2003-05-30 13:49                 ` Gautier
2003-05-30 14:36               ` Robert C. Leif
2003-05-30 17:32                 ` Preben Randhol
2003-05-30 19:21               ` Randy Brukardt
2003-05-31 11:50                 ` Gautier Write-only
2003-05-31 14:24                   ` Bill Findlay
2003-06-01  3:42                   ` Randy Brukardt
2003-06-02 11:02                   ` Georg Bauhaus
2003-06-02 20:25                     ` Gautier Write-only
2003-05-30  8:48             ` Preben Randhol
2003-05-27 10:31         ` Preben Randhol
2003-05-29 20:30           ` Roman V. Isaev
2003-05-30  9:01             ` Preben Randhol
2003-05-30 22:02               ` Roman V. Isaev
2003-05-31 13:34                 ` Preben Randhol
2003-05-27 18:27     ` Stephen Leake
2003-05-27 20:24 ` Matthew Heaney [this message]
replies disabled

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