How to pack types with variables in one message to send it to another thread? [tuple]
    MarisaLovesUsAll via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Sun Sep  7 09:00:03 PDT 2014
    
    
  
> No need.
Message has additional arguments.
Btw, thanks for help! I found a solution.
struct Message
{
     uint id;
     string command;
     Variant[] args;
     this(T...)(uint id, string command, T args)
     {
         this.id = id;
         this.command = command;
         this.args = variantArray(args);
     }
};
send(tid, cast(immutable Message) Message(id, "Sprite", "load", 
filename));
receive((immutable Message receivedMsg)
{
     Message msg = cast(Message) receivedMsg;
     writeln(msg.args[1].get!uint);
});
Cast to immutable and back to mutable looks like crutch, but I 
don't know what to do with std.concurrency restrictions.
    
    
More information about the Digitalmars-d-learn
mailing list