{"action":"opened","issue":{"url":"https://api.github.com/repos/pothosware/pothos/issues/91","repository_url":"https://api.github.com/repos/pothosware/pothos","labels_url":"https://api.github.com/repos/pothosware/pothos/issues/91/labels{/name}","comments_url":"https://api.github.com/repos/pothosware/pothos/issues/91/comments","events_url":"https://api.github.com/repos/pothosware/pothos/issues/91/events","html_url":"https://github.com/pothosware/pothos/issues/91","id":163787790,"number":91,"title":"Dropping MSVC 2012 support: variadic templates and more","user":{"login":"guruofquality","id":184117,"avatar_url":"https://avatars.githubusercontent.com/u/184117?v=3","gravatar_id":"","url":"https://api.github.com/users/guruofquality","html_url":"https://github.com/guruofquality","followers_url":"https://api.github.com/users/guruofquality/followers","following_url":"https://api.github.com/users/guruofquality/following{/other_user}","gists_url":"https://api.github.com/users/guruofquality/gists{/gist_id}","starred_url":"https://api.github.com/users/guruofquality/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guruofquality/subscriptions","organizations_url":"https://api.github.com/users/guruofquality/orgs","repos_url":"https://api.github.com/users/guruofquality/repos","events_url":"https://api.github.com/users/guruofquality/events{/privacy}","received_events_url":"https://api.github.com/users/guruofquality/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/pothosware/pothos/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-07-05T07:30:28Z","updated_at":"2016-07-05T07:30:28Z","closed_at":null,"body":"**We ended up not using variadic templates** to support MSVC2012 which had incomplete c++11 support. Now that 2012 is dropped in favor of the more compliant 2013 and 2015, we should cleanup use of generated headers using variadic templates.\r\n\r\n* [ ] All of the Callable, Proxy, ManagedClass APIs can be cleaned up. There is no need for this template generation system: https://github.com/pothosware/pothos/blob/master/include/CMakeLists.txt#L38\r\n\r\n**Further, we avoided certain API calls** because it would require even more generation like this, so...\r\n\r\n* [ ] Create a templated emit() API call on Pothos::Block to replace the use of callVoid(signalName, args...)\r\n* [ ] Create a BlockRegistry::make(path, args...) factory call to neaten all of the BlockRegistry invocations that operate in the current process.\r\n\r\n**Other misc VS2012 work arounds**:\r\n\r\n* [ ] remove pothos_explicit ifdef in Config.hpp (use explicit)\r\n* [ ] remove MathCompat.hpp, all of these functions were for 2012\r\n* [ ] revert unit tests used list initialization for test vectors but were \"fixed\" for 2012\r\n"}}
{"actor":{"display_login":"guruofquality"}}