{"id":2407,"date":"2015-07-29T22:53:56","date_gmt":"2015-07-29T21:53:56","guid":{"rendered":"http:\/\/roboblog.fatal-fury.de\/?p=2407"},"modified":"2015-07-30T08:59:33","modified_gmt":"2015-07-30T07:59:33","slug":"derivedfunctor-fancy","status":"publish","type":"post","link":"http:\/\/roboblog.fatal-fury.de\/?p=2407","title":{"rendered":"DerivedFunctor - fancy"},"content":{"rendered":"<p>In C++11 kann man von einer Funktion erben. Krass.<br \/>\nLambdas sind krass.<br \/>\nDas typedef musste sein, sonst hat er nicht compiliert. Ist vllt aber<br \/>\nnur ein Compilerbug und bald nicht mehr n\u00f6tig.<\/p>\n<pre><code>auto foo = [](){return 42;};\r\n\r\nclass DerivedFunctor : public decltype(foo)\r\n{\r\n  typedef decltype(foo) type;\r\n  public:\r\n    DerivedFunctor(type foo)\r\n    : type(foo)\r\n    {\r\n    }\r\n\r\n    auto operator()() {\r\n      cout << \"DerivedFunctor::operator()\\n\";\r\n      return type::operator()();\r\n    }\r\n};\r\n\r\nint main() {\r\n  DerivedFunctor t(foo);\r\n  cout << t();\r\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>In C++11 kann man von einer Funktion erben. Krass. Lambdas sind krass. Das typedef musste sein, sonst hat er nicht compiliert. Ist vllt aber nur ein Compilerbug und bald nicht mehr n\u00f6tig. auto foo = [](){return 42;}; class DerivedFunctor : public decltype(foo) { typedef decltype(foo) type; public: DerivedFunctor(type foo) : type(foo) { } auto operator()() [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[17],"class_list":["post-2407","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-cpp"],"_links":{"self":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/2407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2407"}],"version-history":[{"count":2,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/2407\/revisions"}],"predecessor-version":[{"id":2409,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=\/wp\/v2\/posts\/2407\/revisions\/2409"}],"wp:attachment":[{"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2407"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/roboblog.fatal-fury.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}