On 19/05/2016 10:41 PM, Thorsten Sommer wrote:
On Thursday, 19 May 2016 at 10:13:21 UTC, rikki cattermole wrote:
At this point I'd recommend you to just ignore Appender.
Write your own.
Dear rikki,
Thanks for the proposal :) Here is the new attempt #4 as simple test
case: https://dpaste.dzfl.pl/f6a9663320e5
It compiles & runs, but the array of strings gets not shared across
threads :( I am sure that I missed something about the shared() concept...
Hmm...
Best regards,
Thorsten
What I meant was for you to create e.g. a struct that you can control to
meet your needs. Not to declare an empty class and make your data global.
struct MyAppender(T) {
T[] data;
size_t realLen;
void add(T v) {...}
T[] data() { return data[0 .. realLen]; }
}
void main() {
import std.stdio : writeln;
MyAppender!char stuff;
stuff.add('a');
writeln(stuff.data);
}
Although based upon your posts, I'd say you should focus more on
learning the language and less on threading. I.e. immutable A obj = new A();
Is probably not doing what you think it is.