{"action":"created","comment":{"url":"https://api.github.com/repos/OpenImageIO/oiio/pulls/comments/45232520","id":45232520,"diff_hunk":"@@ -927,7 +926,7 @@ ImageBufAlgo::fillholes_pushpull (ImageBuf &dst, const ImageBuf &src,\n     topspec.set_format (TypeDesc::FLOAT);\n     ImageBuf *top = new ImageBuf (topspec);\n     paste (*top, topspec.x, topspec.y, topspec.z, 0, src);\n-    pyramid.push_back (boost::shared_ptr<ImageBuf>(top));\n+    pyramid.push_back (OIIO::shared_ptr<ImageBuf>(top));","path":"src/libOpenImageIO/imagebufalgo.cpp","position":98,"original_position":98,"commit_id":"fc149a2ea5fd51e96287cdba3e01bad21e7d7322","original_commit_id":"fc149a2ea5fd51e96287cdba3e01bad21e7d7322","user":{"login":"lgritz","id":504179,"avatar_url":"https://avatars.githubusercontent.com/u/504179?v=3","gravatar_id":"","url":"https://api.github.com/users/lgritz","html_url":"https://github.com/lgritz","followers_url":"https://api.github.com/users/lgritz/followers","following_url":"https://api.github.com/users/lgritz/following{/other_user}","gists_url":"https://api.github.com/users/lgritz/gists{/gist_id}","starred_url":"https://api.github.com/users/lgritz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lgritz/subscriptions","organizations_url":"https://api.github.com/users/lgritz/orgs","repos_url":"https://api.github.com/users/lgritz/repos","events_url":"https://api.github.com/users/lgritz/events{/privacy}","received_events_url":"https://api.github.com/users/lgritz/received_events","type":"User","site_admin":false},"body":"Yes, eventually. Can't be done yet, without either a proliferation of \"#if\" or making a solid C++03 implementation of make_shared.\r\n","created_at":"2015-11-18T17:40:32Z","updated_at":"2015-11-18T17:40:32Z","html_url":"https://github.com/OpenImageIO/oiio/pull/1266#discussion_r45232520","pull_request_url":"https://api.github.com/repos/OpenImageIO/oiio/pulls/1266","_links":{"self":{"href":"https://api.github.com/repos/OpenImageIO/oiio/pulls/comments/45232520"},"html":{"href":"https://github.com/OpenImageIO/oiio/pull/1266#discussion_r45232520"},"pull_request":{"href":"https://api.github.com/repos/OpenImageIO/oiio/pulls/1266"}}},"pull_request":{"url":"https://api.github.com/repos/OpenImageIO/oiio/pulls/1266","id":51053744,"html_url":"https://github.com/OpenImageIO/oiio/pull/1266","diff_url":"https://github.com/OpenImageIO/oiio/pull/1266.diff","patch_url":"https://github.com/OpenImageIO/oiio/pull/1266.patch","issue_url":"https://api.github.com/repos/OpenImageIO/oiio/issues/1266","number":1266,"state":"open","locked":false,"title":"C++11 use boost alternatives (mainly std)","user":{"login":"lgritz","id":504179,"avatar_url":"https://avatars.githubusercontent.com/u/504179?v=3","gravatar_id":"","url":"https://api.github.com/users/lgritz","html_url":"https://github.com/lgritz","followers_url":"https://api.github.com/users/lgritz/followers","following_url":"https://api.github.com/users/lgritz/following{/other_user}","gists_url":"https://api.github.com/users/lgritz/gists{/gist_id}","starred_url":"https://api.github.com/users/lgritz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lgritz/subscriptions","organizations_url":"https://api.github.com/users/lgritz/orgs","repos_url":"https://api.github.com/users/lgritz/repos","events_url":"https://api.github.com/users/lgritz/events{/privacy}","received_events_url":"https://api.github.com/users/lgritz/received_events","type":"User","site_admin":false},"body":"A series of changes with the aim of using only std, no boost, in public headers. For the most part, these only come into play with compiling with USE_CPP11=1. C++03 compiles still fall back to the boost versions.\r\n\r\nThere were three main sets of changes:\r\n\r\n* thread.h: use std::mutex, recursive_mutex, lock_guard, thread, and make a simple thread_group, all to take the place of boost components of the same names. Also remove mention of thread_specific_ptr from thread.h, use the boost one directly from the couple of specific places in internals where we need it.\r\n\r\n* refcnt.h handles all the reference-counted pointers -- use std::shared_ptr instead of boost, and make our own intrusive_ptr.\r\n\r\n* imagebufalgo_util.h now uses the OIIO-namespaced thread_group, bind, ref, cref (which are std or our own for C++11, boost for C++03).\r\n\r\nI believe that this gets us to a state where, when using C++11, there are NO references to boost headers or types in OIIO's public headers, and thus no need to expose them in client application code that uses OIIO. We still use some boost internally at OIIO build time, and that's fine. Yet more of that will go away once we eventually move to C++11 as a baseline (after our next major release branch).\r\n\r\nNone of this is resulting from any antipathy toward boost. Like I said, there are uses of boost in our internals that we have no particular intent to remove (and no obvious replacements). But there is a benefit to keeping it out of the public APIs, primarily to avoid versionitis issues in apps that may require multiple dependent libraries that each use or expect different Boost versions. We strive for OIIO to not add to those headaches, unless there is no alternative. With C++11, a whole lot of alternatives crop up, as a sizeable portion of the bits of boost we use have migrated to be part of the standard library.\r\n \r\n","created_at":"2015-11-18T08:10:00Z","updated_at":"2015-11-18T17:40:32Z","closed_at":null,"merged_at":null,"merge_commit_sha":"08816cbd901ca620de6ac114bb01c482ab4c79f6","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/OpenImageIO/oiio/pulls/1266/commits","review_comments_url":"https://api.github.com/repos/OpenImageIO/oiio/pulls/1266/comments","review_comment_url":"https://api.github.com/repos/OpenImageIO/oiio/pulls/comments{/number}","comments_url":"https://api.github.com/repos/OpenImageIO/oiio/issues/1266/comments","statuses_url":"https://api.github.com/repos/OpenImageIO/oiio/statuses/fc149a2ea5fd51e96287cdba3e01bad21e7d7322","head":{"label":"lgritz:lg-boost","ref":"lg-boost","sha":"fc149a2ea5fd51e96287cdba3e01bad21e7d7322","user":{"login":"lgritz","id":504179,"avatar_url":"https://avatars.githubusercontent.com/u/504179?v=3","gravatar_id":"","url":"https://api.github.com/users/lgritz","html_url":"https://github.com/lgritz","followers_url":"https://api.github.com/users/lgritz/followers","following_url":"https://api.github.com/users/lgritz/following{/other_user}","gists_url":"https://api.github.com/users/lgritz/gists{/gist_id}","starred_url":"https://api.github.com/users/lgritz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lgritz/subscriptions","organizations_url":"https://api.github.com/users/lgritz/orgs","repos_url":"https://api.github.com/users/lgritz/repos","events_url":"https://api.github.com/users/lgritz/events{/privacy}","received_events_url":"https://api.github.com/users/lgritz/received_events","type":"User","site_admin":false},"repo":{"id":1322330,"name":"oiio","full_name":"lgritz/oiio","owner":{"login":"lgritz","id":504179,"avatar_url":"https://avatars.githubusercontent.com/u/504179?v=3","gravatar_id":"","url":"https://api.github.com/users/lgritz","html_url":"https://github.com/lgritz","followers_url":"https://api.github.com/users/lgritz/followers","following_url":"https://api.github.com/users/lgritz/following{/other_user}","gists_url":"https://api.github.com/users/lgritz/gists{/gist_id}","starred_url":"https://api.github.com/users/lgritz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lgritz/subscriptions","organizations_url":"https://api.github.com/users/lgritz/orgs","repos_url":"https://api.github.com/users/lgritz/repos","events_url":"https://api.github.com/users/lgritz/events{/privacy}","received_events_url":"https://api.github.com/users/lgritz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lgritz/oiio","description":"OpenImageIO","fork":true,"url":"https://api.github.com/repos/lgritz/oiio","forks_url":"https://api.github.com/repos/lgritz/oiio/forks","keys_url":"https://api.github.com/repos/lgritz/oiio/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lgritz/oiio/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lgritz/oiio/teams","hooks_url":"https://api.github.com/repos/lgritz/oiio/hooks","issue_events_url":"https://api.github.com/repos/lgritz/oiio/issues/events{/number}","events_url":"https://api.github.com/repos/lgritz/oiio/events","assignees_url":"https://api.github.com/repos/lgritz/oiio/assignees{/user}","branches_url":"https://api.github.com/repos/lgritz/oiio/branches{/branch}","tags_url":"https://api.github.com/repos/lgritz/oiio/tags","blobs_url":"https://api.github.com/repos/lgritz/oiio/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lgritz/oiio/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lgritz/oiio/git/refs{/sha}","trees_url":"https://api.github.com/repos/lgritz/oiio/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lgritz/oiio/statuses/{sha}","languages_url":"https://api.github.com/repos/lgritz/oiio/languages","stargazers_url":"https://api.github.com/repos/lgritz/oiio/stargazers","contributors_url":"https://api.github.com/repos/lgritz/oiio/contributors","subscribers_url":"https://api.github.com/repos/lgritz/oiio/subscribers","subscription_url":"https://api.github.com/repos/lgritz/oiio/subscription","commits_url":"https://api.github.com/repos/lgritz/oiio/commits{/sha}","git_commits_url":"https://api.github.com/repos/lgritz/oiio/git/commits{/sha}","comments_url":"https://api.github.com/repos/lgritz/oiio/comments{/number}","issue_comment_url":"https://api.github.com/repos/lgritz/oiio/issues/comments{/number}","contents_url":"https://api.github.com/repos/lgritz/oiio/contents/{+path}","compare_url":"https://api.github.com/repos/lgritz/oiio/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lgritz/oiio/merges","archive_url":"https://api.github.com/repos/lgritz/oiio/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lgritz/oiio/downloads","issues_url":"https://api.github.com/repos/lgritz/oiio/issues{/number}","pulls_url":"https://api.github.com/repos/lgritz/oiio/pulls{/number}","milestones_url":"https://api.github.com/repos/lgritz/oiio/milestones{/number}","notifications_url":"https://api.github.com/repos/lgritz/oiio/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lgritz/oiio/labels{/name}","releases_url":"https://api.github.com/repos/lgritz/oiio/releases{/id}","created_at":"2011-02-02T23:16:23Z","updated_at":"2015-05-07T17:17:35Z","pushed_at":"2015-11-18T07:54:14Z","git_url":"git://github.com/lgritz/oiio.git","ssh_url":"git@github.com:lgritz/oiio.git","clone_url":"https://github.com/lgritz/oiio.git","svn_url":"https://github.com/lgritz/oiio","homepage":"http://www.openimageio.org","size":95219,"stargazers_count":5,"watchers_count":5,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":5,"default_branch":"master"}},"base":{"label":"OpenImageIO:master","ref":"master","sha":"0dbb535a1fc921fa67d94808bb9f40d31a2d4b46","user":{"login":"OpenImageIO","id":547887,"avatar_url":"https://avatars.githubusercontent.com/u/547887?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenImageIO","html_url":"https://github.com/OpenImageIO","followers_url":"https://api.github.com/users/OpenImageIO/followers","following_url":"https://api.github.com/users/OpenImageIO/following{/other_user}","gists_url":"https://api.github.com/users/OpenImageIO/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenImageIO/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenImageIO/subscriptions","organizations_url":"https://api.github.com/users/OpenImageIO/orgs","repos_url":"https://api.github.com/users/OpenImageIO/repos","events_url":"https://api.github.com/users/OpenImageIO/events{/privacy}","received_events_url":"https://api.github.com/users/OpenImageIO/received_events","type":"User","site_admin":false},"repo":{"id":1322284,"name":"oiio","full_name":"OpenImageIO/oiio","owner":{"login":"OpenImageIO","id":547887,"avatar_url":"https://avatars.githubusercontent.com/u/547887?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenImageIO","html_url":"https://github.com/OpenImageIO","followers_url":"https://api.github.com/users/OpenImageIO/followers","following_url":"https://api.github.com/users/OpenImageIO/following{/other_user}","gists_url":"https://api.github.com/users/OpenImageIO/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenImageIO/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenImageIO/subscriptions","organizations_url":"https://api.github.com/users/OpenImageIO/orgs","repos_url":"https://api.github.com/users/OpenImageIO/repos","events_url":"https://api.github.com/users/OpenImageIO/events{/privacy}","received_events_url":"https://api.github.com/users/OpenImageIO/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/OpenImageIO/oiio","description":"OpenImageIO","fork":false,"url":"https://api.github.com/repos/OpenImageIO/oiio","forks_url":"https://api.github.com/repos/OpenImageIO/oiio/forks","keys_url":"https://api.github.com/repos/OpenImageIO/oiio/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OpenImageIO/oiio/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OpenImageIO/oiio/teams","hooks_url":"https://api.github.com/repos/OpenImageIO/oiio/hooks","issue_events_url":"https://api.github.com/repos/OpenImageIO/oiio/issues/events{/number}","events_url":"https://api.github.com/repos/OpenImageIO/oiio/events","assignees_url":"https://api.github.com/repos/OpenImageIO/oiio/assignees{/user}","branches_url":"https://api.github.com/repos/OpenImageIO/oiio/branches{/branch}","tags_url":"https://api.github.com/repos/OpenImageIO/oiio/tags","blobs_url":"https://api.github.com/repos/OpenImageIO/oiio/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OpenImageIO/oiio/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OpenImageIO/oiio/git/refs{/sha}","trees_url":"https://api.github.com/repos/OpenImageIO/oiio/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OpenImageIO/oiio/statuses/{sha}","languages_url":"https://api.github.com/repos/OpenImageIO/oiio/languages","stargazers_url":"https://api.github.com/repos/OpenImageIO/oiio/stargazers","contributors_url":"https://api.github.com/repos/OpenImageIO/oiio/contributors","subscribers_url":"https://api.github.com/repos/OpenImageIO/oiio/subscribers","subscription_url":"https://api.github.com/repos/OpenImageIO/oiio/subscription","commits_url":"https://api.github.com/repos/OpenImageIO/oiio/commits{/sha}","git_commits_url":"https://api.github.com/repos/OpenImageIO/oiio/git/commits{/sha}","comments_url":"https://api.github.com/repos/OpenImageIO/oiio/comments{/number}","issue_comment_url":"https://api.github.com/repos/OpenImageIO/oiio/issues/comments{/number}","contents_url":"https://api.github.com/repos/OpenImageIO/oiio/contents/{+path}","compare_url":"https://api.github.com/repos/OpenImageIO/oiio/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OpenImageIO/oiio/merges","archive_url":"https://api.github.com/repos/OpenImageIO/oiio/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OpenImageIO/oiio/downloads","issues_url":"https://api.github.com/repos/OpenImageIO/oiio/issues{/number}","pulls_url":"https://api.github.com/repos/OpenImageIO/oiio/pulls{/number}","milestones_url":"https://api.github.com/repos/OpenImageIO/oiio/milestones{/number}","notifications_url":"https://api.github.com/repos/OpenImageIO/oiio/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OpenImageIO/oiio/labels{/name}","releases_url":"https://api.github.com/repos/OpenImageIO/oiio/releases{/id}","created_at":"2011-02-02T23:03:28Z","updated_at":"2015-11-12T16:32:24Z","pushed_at":"2015-11-18T08:10:00Z","git_url":"git://github.com/OpenImageIO/oiio.git","ssh_url":"git@github.com:OpenImageIO/oiio.git","clone_url":"https://github.com/OpenImageIO/oiio.git","svn_url":"https://github.com/OpenImageIO/oiio","homepage":"http://www.openimageio.org","size":118490,"stargazers_count":407,"watchers_count":407,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":183,"mirror_url":null,"open_issues_count":77,"forks":183,"open_issues":77,"watchers":407,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/OpenImageIO/oiio/pulls/1266"},"html":{"href":"https://github.com/OpenImageIO/oiio/pull/1266"},"issue":{"href":"https://api.github.com/repos/OpenImageIO/oiio/issues/1266"},"comments":{"href":"https://api.github.com/repos/OpenImageIO/oiio/issues/1266/comments"},"review_comments":{"href":"https://api.github.com/repos/OpenImageIO/oiio/pulls/1266/comments"},"review_comment":{"href":"https://api.github.com/repos/OpenImageIO/oiio/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/OpenImageIO/oiio/pulls/1266/commits"},"statuses":{"href":"https://api.github.com/repos/OpenImageIO/oiio/statuses/fc149a2ea5fd51e96287cdba3e01bad21e7d7322"}}}}