On Sunday, 22 August 2021 at 13:37:50 UTC, jfondren wrote:
this(this) {
unique = null;
}
~this() {
pureFree(unique);
}
}
Dear jfondren,
I truly appreciate you taking the time to help me with my
question!
**This bit of magic with the postblit may hold the key to my
issue.**
(I have done some experiments based on your example code, am
learning much,
and it looks VERY encouraging!
It is a bit scary how you guessed very closely what I am trying to
do. I have a AVX aligned pointers (obtained from fftw_malloc),
that I
want to protect.
To be a bit more specific. The code that reads/writes from
to/from fftw
routines is all pointer based. But, to allow use of standard
dlang things
such as "foreach" and friends, I've been cobbling together a
(naive) wrapper.
This allows me to use standard dlang syntax and operator
overloads. I call my
struct "fakeArray" ... since it is meant to behave either as a
static array,
or a dynamic array as needed.
It **seems** to work pretty well ... but protecting the arrays
from accidental
programming mistakes (such as the "auto y=x") has been eluding me.
In fact, I **can** do a legitimate data copy via "y = x", as long
as
y is already instantiated as a "fakeArray".
I must steady more the example you kindly provided (learn more
about the
postblit, and pureFree, the const report function, etc...)
Best Regards,
James