{"action":"created","issue":{"url":"https://api.github.com/repos/mantidproject/mantid/issues/15855","repository_url":"https://api.github.com/repos/mantidproject/mantid","labels_url":"https://api.github.com/repos/mantidproject/mantid/issues/15855/labels{/name}","comments_url":"https://api.github.com/repos/mantidproject/mantid/issues/15855/comments","events_url":"https://api.github.com/repos/mantidproject/mantid/issues/15855/events","html_url":"https://github.com/mantidproject/mantid/pull/15855","id":146525432,"number":15855,"title":"Extended cow_ptr to be more like shared_ptr, in particular added support for NULL cow_ptr.","user":{"login":"SimonHeybrock","id":12912489,"avatar_url":"https://avatars.githubusercontent.com/u/12912489?v=3","gravatar_id":"","url":"https://api.github.com/users/SimonHeybrock","html_url":"https://github.com/SimonHeybrock","followers_url":"https://api.github.com/users/SimonHeybrock/followers","following_url":"https://api.github.com/users/SimonHeybrock/following{/other_user}","gists_url":"https://api.github.com/users/SimonHeybrock/gists{/gist_id}","starred_url":"https://api.github.com/users/SimonHeybrock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SimonHeybrock/subscriptions","organizations_url":"https://api.github.com/users/SimonHeybrock/orgs","repos_url":"https://api.github.com/users/SimonHeybrock/repos","events_url":"https://api.github.com/users/SimonHeybrock/events{/privacy}","received_events_url":"https://api.github.com/users/SimonHeybrock/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mantidproject/mantid/labels/Component:%20Framework","name":"Component: Framework","color":"009800"},{"url":"https://api.github.com/repos/mantidproject/mantid/labels/Misc:%20Core","name":"Misc: Core","color":"5319e7"}],"state":"open","locked":false,"assignee":{"login":"OwenArnold","id":1109536,"avatar_url":"https://avatars.githubusercontent.com/u/1109536?v=3","gravatar_id":"","url":"https://api.github.com/users/OwenArnold","html_url":"https://github.com/OwenArnold","followers_url":"https://api.github.com/users/OwenArnold/followers","following_url":"https://api.github.com/users/OwenArnold/following{/other_user}","gists_url":"https://api.github.com/users/OwenArnold/gists{/gist_id}","starred_url":"https://api.github.com/users/OwenArnold/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OwenArnold/subscriptions","organizations_url":"https://api.github.com/users/OwenArnold/orgs","repos_url":"https://api.github.com/users/OwenArnold/repos","events_url":"https://api.github.com/users/OwenArnold/events{/privacy}","received_events_url":"https://api.github.com/users/OwenArnold/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/mantidproject/mantid/milestones/5","html_url":"https://github.com/mantidproject/mantid/milestones/Release%203.7","labels_url":"https://api.github.com/repos/mantidproject/mantid/milestones/5/labels","id":1106939,"number":5,"title":"Release 3.7","description":"","creator":{"login":"peterfpeterson","id":404003,"avatar_url":"https://avatars.githubusercontent.com/u/404003?v=3","gravatar_id":"","url":"https://api.github.com/users/peterfpeterson","html_url":"https://github.com/peterfpeterson","followers_url":"https://api.github.com/users/peterfpeterson/followers","following_url":"https://api.github.com/users/peterfpeterson/following{/other_user}","gists_url":"https://api.github.com/users/peterfpeterson/gists{/gist_id}","starred_url":"https://api.github.com/users/peterfpeterson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peterfpeterson/subscriptions","organizations_url":"https://api.github.com/users/peterfpeterson/orgs","repos_url":"https://api.github.com/users/peterfpeterson/repos","events_url":"https://api.github.com/users/peterfpeterson/events{/privacy}","received_events_url":"https://api.github.com/users/peterfpeterson/received_events","type":"User","site_admin":false},"open_issues":570,"closed_issues":527,"state":"open","created_at":"2015-05-12T15:38:13Z","updated_at":"2016-04-07T07:13:18Z","due_on":"2016-06-05T23:00:00Z","closed_at":null},"comments":1,"created_at":"2016-04-07T06:55:09Z","updated_at":"2016-04-07T07:27:27Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mantidproject/mantid/pulls/15855","html_url":"https://github.com/mantidproject/mantid/pull/15855","diff_url":"https://github.com/mantidproject/mantid/pull/15855.diff","patch_url":"https://github.com/mantidproject/mantid/pull/15855.patch"},"body":"Extended cow_ptr to be more like shared_ptr, in particular added support for NULL cow_ptr. A few (related) missing interface functions from `shared_ptr` were also added to make the interfaces more similar.\r\n\r\n**To test:**\r\n\r\nCode review.\r\n\r\nFixes #15844.\r\n\r\nNo release notes\r\n\r\n---\r\n\r\n#### Reviewer ####\r\n\r\nPlease comment on the following ([full description](http://www.mantidproject.org/Individual_Ticket_Testing)):\r\n\r\n##### Code Review #####\r\n\r\n- [ ] Is the code of an acceptable quality?\r\n- [ ] Does the code conform to the coding standards? Is it well structured with small focussed classes/methods/functions?\r\n- [ ] Are there unit/system tests in place? Are the unit tests small and test the a class in isolation?\r\n- [ ] If there are changes in the release notes then do they describe the changes appropriately?\r\n\r\n##### Functional Tests #####\r\n\r\n- [ ] Do changes function as described? Add comments below that describe the tests performed?\r\n- [ ] How do the changes handle unexpected situations, e.g. bad input?\r\n- [ ] Has the relevant documentation been added/updated?\r\n- [ ] Is user-facing documentation written in a user-friendly manner?\r\n- [ ] Has developer documentation been updated if required?\r\n\r\n- Does everything look good? Comment with the ship it emoji but don't merge. A member of `@mantidproject/gatekeepers` will take care of it.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/mantidproject/mantid/issues/comments/206736998","html_url":"https://github.com/mantidproject/mantid/pull/15855#issuecomment-206736998","issue_url":"https://api.github.com/repos/mantidproject/mantid/issues/15855","id":206736998,"user":{"login":"OwenArnold","id":1109536,"avatar_url":"https://avatars.githubusercontent.com/u/1109536?v=3","gravatar_id":"","url":"https://api.github.com/users/OwenArnold","html_url":"https://github.com/OwenArnold","followers_url":"https://api.github.com/users/OwenArnold/followers","following_url":"https://api.github.com/users/OwenArnold/following{/other_user}","gists_url":"https://api.github.com/users/OwenArnold/gists{/gist_id}","starred_url":"https://api.github.com/users/OwenArnold/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OwenArnold/subscriptions","organizations_url":"https://api.github.com/users/OwenArnold/orgs","repos_url":"https://api.github.com/users/OwenArnold/repos","events_url":"https://api.github.com/users/OwenArnold/events{/privacy}","received_events_url":"https://api.github.com/users/OwenArnold/received_events","type":"User","site_admin":false},"created_at":"2016-04-07T07:27:27Z","updated_at":"2016-04-07T07:27:27Z","body":"@SimonHeybrock This all looks good. I have some slight reservations regarding the forwarding of methods belonging to the `shared_ptr` regarding uniqueness and instance counts. Looking at the original code, the author had gone through some trouble to hide the `smart_ptr` behind the `cow_ptr`. "}}