{"action":"created","issue":{"url":"https://api.github.com/repos/boostorg/smart_ptr/issues/24","repository_url":"https://api.github.com/repos/boostorg/smart_ptr","labels_url":"https://api.github.com/repos/boostorg/smart_ptr/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/boostorg/smart_ptr/issues/24/comments","events_url":"https://api.github.com/repos/boostorg/smart_ptr/issues/24/events","html_url":"https://github.com/boostorg/smart_ptr/pull/24","id":167360260,"number":24,"title":"boost::make_shared: use Constructor Forwarding on C++03","user":{"login":"muggenhor","id":484066,"avatar_url":"https://avatars.githubusercontent.com/u/484066?v=3","gravatar_id":"","url":"https://api.github.com/users/muggenhor","html_url":"https://github.com/muggenhor","followers_url":"https://api.github.com/users/muggenhor/followers","following_url":"https://api.github.com/users/muggenhor/following{/other_user}","gists_url":"https://api.github.com/users/muggenhor/gists{/gist_id}","starred_url":"https://api.github.com/users/muggenhor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/muggenhor/subscriptions","organizations_url":"https://api.github.com/users/muggenhor/orgs","repos_url":"https://api.github.com/users/muggenhor/repos","events_url":"https://api.github.com/users/muggenhor/events{/privacy}","received_events_url":"https://api.github.com/users/muggenhor/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-07-25T13:00:30Z","updated_at":"2016-09-10T11:35:52Z","closed_at":"2016-09-10T11:33:56Z","pull_request":{"url":"https://api.github.com/repos/boostorg/smart_ptr/pulls/24","html_url":"https://github.com/boostorg/smart_ptr/pull/24","diff_url":"https://github.com/boostorg/smart_ptr/pull/24.diff","patch_url":"https://github.com/boostorg/smart_ptr/pull/24.patch"},"body":"Currently, boost::make_shared doesn't perform constructor forwarding unless C++11 r-value references are supported. This prevents using of MOVABLE_BUT_NOT_COPYABLE types as arguments to constructors.\r\n\r\nThe Boost.Move documentation describes [how to perform (limited) constructor forwarding](http://www.boost.org/doc/libs/1_59_0/doc/html/move/construct_forwarding.html). It's example is perfectly applicable to boost::make_shared.\r\n\r\nThis PR implements constructor forwarding for make_shared as documented in Boost.Move's documentation.\r\n\r\nWith this change the difference between the code supporting r-value references but not supporting variadic templates became the type signature and the call to boost::detail::sp_forward and boost::forward. The first difference was eliminated by using the macro BOOST_FWD_REF, the second by using boost::forward in both places, making the two pieces of code textually equal and thus I also removed the duplicate."},"comment":{"url":"https://api.github.com/repos/boostorg/smart_ptr/issues/comments/246107082","html_url":"https://github.com/boostorg/smart_ptr/pull/24#issuecomment-246107082","issue_url":"https://api.github.com/repos/boostorg/smart_ptr/issues/24","id":246107082,"user":{"login":"pdimov","id":3116174,"avatar_url":"https://avatars.githubusercontent.com/u/3116174?v=3","gravatar_id":"","url":"https://api.github.com/users/pdimov","html_url":"https://github.com/pdimov","followers_url":"https://api.github.com/users/pdimov/followers","following_url":"https://api.github.com/users/pdimov/following{/other_user}","gists_url":"https://api.github.com/users/pdimov/gists{/gist_id}","starred_url":"https://api.github.com/users/pdimov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pdimov/subscriptions","organizations_url":"https://api.github.com/users/pdimov/orgs","repos_url":"https://api.github.com/users/pdimov/repos","events_url":"https://api.github.com/users/pdimov/events{/privacy}","received_events_url":"https://api.github.com/users/pdimov/received_events","type":"User","site_admin":false},"created_at":"2016-09-10T11:35:52Z","updated_at":"2016-09-10T11:35:52Z","body":"Nice simplification, thanks. I've merged it, but it would be nice if we have a test for the new functionality enabled by this change."}}
{"actor":{"display_login":"pdimov"}}