comp.lang.ada
 help / color / mirror / Atom feed
From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: [Newbie] doubly constrained array, dumb question
Date: Mon, 26 Feb 2018 22:52:08 +0200
Date: 2018-02-26T22:52:08+02:00	[thread overview]
Message-ID: <ffjabpFi0naU1@mid.individual.net> (raw)
In-Reply-To: <62f83fe5-15d6-41cf-952f-bc3cb077d42f@googlegroups.com>

On 18-02-26 18:26 , Mehdi Saada wrote:
> Hello.
>
> I would like an constrained String subtype with narrower bounds that Positive'Range.
> How can I do something like:
> subtype Possible_Length is NATURAL range 1..80;
> subtype T_Line is String (Possible_Length range <>);
> ? I know "range <>" isn't included in the definition of "range_constraint". How can I express the same thing.
> So that I can get after, a dynamic string with:
> A: access T_LINE := new T_LINE'("BLABLABLA"); while checking for its range.

I think the closest you can come is to define your own string type such 
that it can be type-converted to/from String, for example like this:

    subtype Small_Positive is Positive range 1 .. 20;

    type Short_String is array (Small_Positive range <>) of Character;

    SS : constant Short_String := "abc";

    S : constant String := String (SS);

-- 
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
       .      @       .


  parent reply	other threads:[~2018-02-26 20:52 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-26 16:26 [Newbie] doubly constrained array, dumb question Mehdi Saada
2018-02-26 17:02 ` J-P. Rosen
2018-02-26 21:40   ` Dmitry A. Kazakov
2018-02-26 23:26   ` Randy Brukardt
2018-02-27  9:01     ` Simon Wright
2018-02-27 22:11       ` Randy Brukardt
2018-02-26 20:52 ` Niklas Holsti [this message]
2018-02-27  1:29 ` Mehdi Saada
2018-02-27  9:18   ` Dmitry A. Kazakov
2018-02-27 11:43     ` Mehdi Saada
2018-02-27 14:19       ` Dmitry A. Kazakov
2018-02-27 17:08     ` G. B.
2018-02-27 17:37       ` Dmitry A. Kazakov
2018-02-27 14:34   ` Jere
2018-02-27 15:13     ` Dmitry A. Kazakov
2018-02-27  7:38 ` Jacob Sparre Andersen
replies disabled

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