<div dir="ltr">Oh, neat. This saves the day :)</div><div class="gmail_extra"><br><div class="gmail_quote">2015-08-01 23:22 GMT+02:00 Ali Çehreli <span dir="ltr"><<a href="mailto:digitalmars-d-learn@puremagic.com" target="_blank">digitalmars-d-learn@puremagic.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 08/01/2015 08:37 AM, maarten van damme via Digitalmars-d-learn wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I have a class that creates a task in it's constructor. How do I store this<br>
created task as one of it's value members and later on call .yieldForce()?<br>
<br>
</blockquote>
<br></span>
Tasks can be created with a function pointer 'function parameter' as well. (This has already been added to "Programming in D" but it is not available on the web site yet.)<br>
<br>
I learned the exact type by the help of pragma(msg) below and used it to create MyTask and myTasks:<br>
<br>
import std.parallelism;<br>
<br>
double foo(int i)<br>
{<br>
    return i * 1.5;<br>
}<br>
<br>
double bar(int i)<br>
{<br>
    return i * 2.5;<br>
}<br>
<br>
void main()<br>
{<br>
    auto tasks = [ task(&foo, 1),<br>
                   task(&bar, 2) ];    // ← compiles<br>
<br>
    pragma(msg, typeof(tasks[0]));<br>
<br>
    alias MyTask = Task!(run, double function(int), int)*;<br>
<br>
    MyTask[] myTasks;<br>
    myTasks ~= task(&foo, 1);<br>
    myTasks ~= task(&bar, 2);<br>
}<br>
<br>
Ali<br>
<br>
</blockquote></div><br></div>