Сообщение Re[23]: Mногопоточность: C++ vs Erlang vs другие от 11.06.2015 21:04
Изменено 11.06.2015 21:07 Evgeny.Panasyuk
Здравствуйте, vdimas, Вы писали:
V>Ну вот, ЧТД:
V>
V>Чтобы уметь копировать состояние, тебе это состояние надо в явном виде, в виде структуры/объекта. Я именно про это и написал, что тебе надо, чтобы для тебя "торчали уши" низлежащего механизма.
Никакое не ЧТД
Что мешает вот это:
Более того, в C# именно подобное преобразование и происходит.
V>Так вот, если уши торчат, как в твоём примере, то нафига это тянуть в стандарт?
Я не предлагаю в стандарт тянуть эмуляцию на макросах. Ещё раз, я показываю как оно может быть устроенно внутри.
V>Ну вот, ЧТД:
V>
EP>>struct coroutine : asio::coroutine
EP>>{
V>
V>Чтобы уметь копировать состояние, тебе это состояние надо в явном виде, в виде структуры/объекта. Я именно про это и написал, что тебе надо, чтобы для тебя "торчали уши" низлежащего механизма.
Никакое не ЧТД
Что мешает вот это:
future<void> coroutine()
{
int x = await foo;
char x = await bar;
cout << x << " " << y << endl;
}
Преобразовать вот в это:struct coroutine : asio::coroutine
{
int x;
char y;
void operator()()
{
reenter(*this)
{
await(x, foo); // x = await foo;
await(y, bar); // y = await bar;
cout << x << " " << y << endl;
}
};
};
?Более того, в C# именно подобное преобразование и происходит.
V>Так вот, если уши торчат, как в твоём примере, то нафига это тянуть в стандарт?
Я не предлагаю в стандарт тянуть эмуляцию на макросах. Ещё раз, я показываю как оно может быть устроенно внутри.
Re[23]: Mногопоточность: C++ vs Erlang vs другие
Здравствуйте, vdimas, Вы писали:
V>Ну вот, ЧТД:
V>
V>Чтобы уметь копировать состояние, тебе это состояние надо в явном виде, в виде структуры/объекта. Я именно про это и написал, что тебе надо, чтобы для тебя "торчали уши" низлежащего механизма.
Никакое не ЧТД
Что мешает вот это:
Более того, в C# именно подобное преобразование и происходит.
V>Так вот, если уши торчат, как в твоём примере, то нафига это тянуть в стандарт?
Я не предлагаю в стандарт тянуть эмуляцию на макросах. Ещё раз, я показываю как оно может быть устроенно внутри.
V>Ну вот, ЧТД:
V>
EP>>struct coroutine : asio::coroutine
EP>>{
V>
V>Чтобы уметь копировать состояние, тебе это состояние надо в явном виде, в виде структуры/объекта. Я именно про это и написал, что тебе надо, чтобы для тебя "торчали уши" низлежащего механизма.
Никакое не ЧТД
Что мешает вот это:
future<void> coroutine()
{
int x = await foo;
char y = await bar;
cout << x << " " << y << endl;
}
Преобразовать вот в это:struct coroutine : asio::coroutine
{
int x;
char y;
void operator()()
{
reenter(*this)
{
await(x, foo); // x = await foo;
await(y, bar); // y = await bar;
cout << x << " " << y << endl;
}
};
};
?Более того, в C# именно подобное преобразование и происходит.
V>Так вот, если уши торчат, как в твоём примере, то нафига это тянуть в стандарт?
Я не предлагаю в стандарт тянуть эмуляцию на макросах. Ещё раз, я показываю как оно может быть устроенно внутри.