scoped classes
Stanislav Blinov via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Apr 27 08:06:44 PDT 2017
On Thursday, 27 April 2017 at 06:40:49 UTC, Alex wrote:
> Hi all,
> a short question about an example.
> having read this:
> https://dlang.org/library/std/typecons/scoped.html
>
> There is a struct B defined in the middle of the example, with
> a scoped class member.
> How to define an array of such members (and to put some items
> to it)?
> So, I want to have something like
>
> // Use as member variable
> struct B
> {
> typeof(scoped!A())[] a; // note the trailing parentheses
>
> this(int i)
> {
> // construct member
> a.length = 5; // doesn't work, as the default
> constructor is disabled.
> a ~= scoped!A(i); // doesn't work, as the type is not
> copyable
> // ???
> }
> }
The only "possible" way would be like this:
typeof(scoped!A())[] a;
a = [ scoped!A(1), scoped!A(2), scoped!A(3) ];
But even so, you shouldn't do that. scoped isn't designed for it.
More information about the Digitalmars-d-learn
mailing list