
AMDG On 03/23/2011 01:07 AM, Oliver Kowalke wrote:
void (fn)(void*) and void* vp are very classic-C. While I'm sure there are those who prefer to work at that level, I'd also want overloads supporting a templatized nullary callable, like Fiber, plus the args-for-implicit-bind variant. Hopefully Fiber and other high-level abstractions implemented on Context could simply leverage Context's support rather than reimplementing it. Since every library built on top of Context will want to support those constructs, if that support can be centralized in Context, it should be. Becuae most of the work is done ins assembler I'd like to keep the things simple as possible. Supporting templatized ctors + args-for-implicit-bind variant would make the assembler too much complicated and thus error prone (different C++ calling conventions on the platforms etc.). So I want to stuck with the C-style callback and track boost.context as a building block for other libs providing higher abstractions.
The normal way to solve this is to have the templated versions wrap their arguments and forward to the asm implementation. In Christ, Steven Watanabe