Odpovídáte na názor ke článku Proměnlivé šablony a RPC v C++.
Já na tohle používám opačný přístup, a to že volání RPC je funktor (pro uvedený příklad funkce sum by to bylo RPC(server, "sum")). Výhodu to má, že se to chová jako úplně obyčejný funktor kompatibilní se std::function. Pokud bych chtěl automatickou dedukci parametrů, můžu vybrat jinou specializaci té třídy a zadat jen RPC, operátor () je potom šablonovaný a detekuje typy (tedy zde by to bylo std::cout << RPC(server, "sum")(2, 3) << std::endl). Delayed call řeším jednoduše lambdami (std::function delayed = [=]{ RPC(server, "sum")(2, 3); };). (Btw. interně je to stejně jenom obal JSON-RPC)
Autor se zabývá vývojem kompilátorů a knihoven pro objektově-orientované programovací jazyky.
Přečteno 37 771×
Přečteno 26 417×
Přečteno 24 928×
Přečteno 21 275×
Přečteno 18 929×