Re: Newbie question -- dereferencing access
- From: Niklas Holsti <niklas.holsti@xxxxxxxxxxxxxxx>
- Date: Fri, 13 Mar 2009 20:46:35 +0200
Tim Rowe wrote:
Tim Rowe wrote:
Georg Bauhaus wrote:
Tim Rowe schrieb:
Alex R. Mosteo wrote:
But I can't put an unconstrained type into a record.
Have you seen Bounded_String (and Unbounded_String)?
Not yet, but I'll go and explore...
Ok, I've seen it now! Am I correct that the statement in the
spec that "No storage associated with an Unbounded_String object
shall be lost upon assignment or scope exit" means somebody else
has done all the work of handling the underlying access types
and I don't need to worry?
That is the intent, yes, as Pascal Obry already replied.
I note that it does have a free method, but presumably that's just for early release before it goes out of scope.
There could be such a method for Unbounded_String, but actually the Free procedure in Ada.Strings.Unbounded works on the type String_Access, which is just an access to an ordinary fixed-length String (assumed to be dynamically allocated if Free is used).
I have often used Unbounded_String but never that procedure Free or the String_Access type. They have no public connection to Unbounded_String; probably they are declared in Ada.Strings.Unbounded just because the private implementations of Unbounded_String commonly use them, and the language designers thought that they might as well be public in case somebody finds them useful for other purposes.
If I wanted to discard the storage of an Unbounded_String variable S at some point in the program, before S goes out of scope, I would assign S := Null_Unbounded_String. This is likely to discard the storage for S, but I think the Ada standard does not guarantee that it happens at the assignment; it might happen later.
--
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
. @ .
.
- Follow-Ups:
- Re: Newbie question -- dereferencing access
- From: Tim Rowe
- Re: Newbie question -- dereferencing access
- References:
- Newbie question -- dereferencing access
- From: Tim Rowe
- Re: Newbie question -- dereferencing access
- From: Ludovic Brenta
- Re: Newbie question -- dereferencing access
- From: Tim Rowe
- Re: Newbie question -- dereferencing access
- From: christoph . grein
- Re: Newbie question -- dereferencing access
- From: Ed Falis
- Re: Newbie question -- dereferencing access
- From: Tim Rowe
- Re: Newbie question -- dereferencing access
- From: Alex R. Mosteo
- Re: Newbie question -- dereferencing access
- From: Tim Rowe
- Re: Newbie question -- dereferencing access
- From: Georg Bauhaus
- Re: Newbie question -- dereferencing access
- From: Tim Rowe
- Re: Newbie question -- dereferencing access
- From: Tim Rowe
- Newbie question -- dereferencing access
- Prev by Date: Re: Newbie question -- dereferencing access
- Next by Date: Re: APQ 3.0-b1 released
- Previous by thread: Re: Newbie question -- dereferencing access
- Next by thread: Re: Newbie question -- dereferencing access
- Index(es):
Relevant Pages
|