{"action":"created","comment":{"url":"https://api.github.com/repos/sxs-collaboration/spectre/pulls/comments/179636670","pull_request_review_id":109920136,"id":179636670,"diff_hunk":"@@ -131,6 +131,13 @@ SPECTRE_ALWAYS_INLINE constexpr const T& at(std::initializer_list<T> cont,\n }\n // @}\n \n+/*!\n+ * \\ingroup UtilitiesGroup\n+ * \\brief Mark a raw pointer as owning its data\n+ */\n+template <class T, Requires<std::is_pointer<T>::value> = nullptr>\n+using owner = T;","path":"src/Utilities/Gsl.hpp","position":9,"original_position":9,"commit_id":"78a63a81c96094d9d4fc2b83ca2265da1e99119e","original_commit_id":"78a63a81c96094d9d4fc2b83ca2265da1e99119e","user":{"login":"nilsdeppe","id":13531030,"avatar_url":"https://avatars3.githubusercontent.com/u/13531030?v=4","gravatar_id":"","url":"https://api.github.com/users/nilsdeppe","html_url":"https://github.com/nilsdeppe","followers_url":"https://api.github.com/users/nilsdeppe/followers","following_url":"https://api.github.com/users/nilsdeppe/following{/other_user}","gists_url":"https://api.github.com/users/nilsdeppe/gists{/gist_id}","starred_url":"https://api.github.com/users/nilsdeppe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nilsdeppe/subscriptions","organizations_url":"https://api.github.com/users/nilsdeppe/orgs","repos_url":"https://api.github.com/users/nilsdeppe/repos","events_url":"https://api.github.com/users/nilsdeppe/events{/privacy}","received_events_url":"https://api.github.com/users/nilsdeppe/received_events","type":"User","site_admin":false},"body":"clang-tidy 6.0 requests this, so we certainly should not get rid of it. I think we should handle not wanting owning raw pointers in one of two ways:\r\n- Have a static_assert be triggered if `owner` is used so that when clang-tidy complains, someone uses and hits a static_assert (plus documentation)\r\n- We only add documentation discouraging it.\r\n\r\nI'm fine with either, but since we really won't ever have owning raw pointers the first is better.\r\n\r\nI noticed we were missing owner because of clang-tidy complaining inside the pup function for unique_ptr.","created_at":"2018-04-06T00:43:24Z","updated_at":"2018-04-06T00:43:24Z","html_url":"https://github.com/sxs-collaboration/spectre/pull/625#discussion_r179636670","pull_request_url":"https://api.github.com/repos/sxs-collaboration/spectre/pulls/625","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/sxs-collaboration/spectre/pulls/comments/179636670"},"html":{"href":"https://github.com/sxs-collaboration/spectre/pull/625#discussion_r179636670"},"pull_request":{"href":"https://api.github.com/repos/sxs-collaboration/spectre/pulls/625"}},"in_reply_to_id":179626465},"pull_request":{"url":"https://api.github.com/repos/sxs-collaboration/spectre/pulls/625","id":178712078,"html_url":"https://github.com/sxs-collaboration/spectre/pull/625","diff_url":"https://github.com/sxs-collaboration/spectre/pull/625.diff","patch_url":"https://github.com/sxs-collaboration/spectre/pull/625.patch","issue_url":"https://api.github.com/repos/sxs-collaboration/spectre/issues/625","number":625,"state":"open","locked":false,"title":"Equations of state","user":{"login":"nilsdeppe","id":13531030,"avatar_url":"https://avatars3.githubusercontent.com/u/13531030?v=4","gravatar_id":"","url":"https://api.github.com/users/nilsdeppe","html_url":"https://github.com/nilsdeppe","followers_url":"https://api.github.com/users/nilsdeppe/followers","following_url":"https://api.github.com/users/nilsdeppe/following{/other_user}","gists_url":"https://api.github.com/users/nilsdeppe/gists{/gist_id}","starred_url":"https://api.github.com/users/nilsdeppe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nilsdeppe/subscriptions","organizations_url":"https://api.github.com/users/nilsdeppe/orgs","repos_url":"https://api.github.com/users/nilsdeppe/repos","events_url":"https://api.github.com/users/nilsdeppe/events{/privacy}","received_events_url":"https://api.github.com/users/nilsdeppe/received_events","type":"User","site_admin":false},"body":"## Proposed changes\r\n\r\n- Add support for checking member functions with python\r\n- Add polytropic EoS\r\n- Add ideal fluid EoS\r\n- Add dark energy EoS\r\n\r\n### Types of changes:\r\n\r\n- [ ] Bugfix\r\n- [x] New feature\r\n\r\n### Component:\r\n\r\n- [x] Code\r\n- [ ] Documentation\r\n- [ ] Build system\r\n- [ ] Continuous integration\r\n\r\n### Code review checklist\r\n\r\n- Follows [code review guidelines](https://sxs-collaboration.github.io/spectre/code_review_guide.html)\r\n- Code has documentation and unit tests\r\n- Private member variables have a trailing underscore\r\n- Do not use [Hungarian notation](https://en.wikipedia.org/wiki/Hungarian_notation), e.g. `double* pd_blah` is bad\r\n- Header order:\r\n  1. hpp corresponding to cpp (only in cpp files)\r\n  2. Blank line (only in cpp files)\r\n  3. STL and externals (in alphabetical order)\r\n  4. Blank line\r\n  5. SpECTRE includes (in alphabetical order)\r\n- File lists in CMake are alphabetical\r\n- Correct `noexcept` specification for functions (if unsure, mark `noexcept`)\r\n- Mark objects `const` whenever possible\r\n- Almost always `auto`, except with expression templates, i.e. `DataVector`\r\n- All commits for performance changes provide quantitative evidence and the tests used to obtain said evidence.\r\n- Make sure error messages are helpful, e.g. \"The number of grid points in the matrix 'F' is not the same as the number of grid points in the determinant.\"\r\n- Prefix commits addressing PR requests with `fixup`. These commits are flagged\r\n  by Travis so we do not accidentally merge them.\r\n- Include what you use, prefer forward declarations in hpp files.\r\n- Explicitly make numbers floating point, e.g. `2.` or `2.0` over `2`\r\n- Use `Tensor`'s non-member get if the indices are constant expressions, e.g.\r\n  `get<1>(tensor)`\r\n\r\n### Further comments\r\n\r\n<!--\r\nIf this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...\r\n-->\r\n","created_at":"2018-04-01T04:02:01Z","updated_at":"2018-04-06T00:43:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"911e27d15884efdbf620eca15493e2f98e8cae07","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/sxs-collaboration/spectre/pulls/625/commits","review_comments_url":"https://api.github.com/repos/sxs-collaboration/spectre/pulls/625/comments","review_comment_url":"https://api.github.com/repos/sxs-collaboration/spectre/pulls/comments{/number}","comments_url":"https://api.github.com/repos/sxs-collaboration/spectre/issues/625/comments","statuses_url":"https://api.github.com/repos/sxs-collaboration/spectre/statuses/78a63a81c96094d9d4fc2b83ca2265da1e99119e","head":{"label":"nilsdeppe:equations_of_state","ref":"equations_of_state","sha":"78a63a81c96094d9d4fc2b83ca2265da1e99119e","user":{"login":"nilsdeppe","id":13531030,"avatar_url":"https://avatars3.githubusercontent.com/u/13531030?v=4","gravatar_id":"","url":"https://api.github.com/users/nilsdeppe","html_url":"https://github.com/nilsdeppe","followers_url":"https://api.github.com/users/nilsdeppe/followers","following_url":"https://api.github.com/users/nilsdeppe/following{/other_user}","gists_url":"https://api.github.com/users/nilsdeppe/gists{/gist_id}","starred_url":"https://api.github.com/users/nilsdeppe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nilsdeppe/subscriptions","organizations_url":"https://api.github.com/users/nilsdeppe/orgs","repos_url":"https://api.github.com/users/nilsdeppe/repos","events_url":"https://api.github.com/users/nilsdeppe/events{/privacy}","received_events_url":"https://api.github.com/users/nilsdeppe/received_events","type":"User","site_admin":false},"repo":{"id":87580722,"name":"spectre","full_name":"nilsdeppe/spectre","owner":{"login":"nilsdeppe","id":13531030,"avatar_url":"https://avatars3.githubusercontent.com/u/13531030?v=4","gravatar_id":"","url":"https://api.github.com/users/nilsdeppe","html_url":"https://github.com/nilsdeppe","followers_url":"https://api.github.com/users/nilsdeppe/followers","following_url":"https://api.github.com/users/nilsdeppe/following{/other_user}","gists_url":"https://api.github.com/users/nilsdeppe/gists{/gist_id}","starred_url":"https://api.github.com/users/nilsdeppe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nilsdeppe/subscriptions","organizations_url":"https://api.github.com/users/nilsdeppe/orgs","repos_url":"https://api.github.com/users/nilsdeppe/repos","events_url":"https://api.github.com/users/nilsdeppe/events{/privacy}","received_events_url":"https://api.github.com/users/nilsdeppe/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/nilsdeppe/spectre","description":null,"fork":true,"url":"https://api.github.com/repos/nilsdeppe/spectre","forks_url":"https://api.github.com/repos/nilsdeppe/spectre/forks","keys_url":"https://api.github.com/repos/nilsdeppe/spectre/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nilsdeppe/spectre/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nilsdeppe/spectre/teams","hooks_url":"https://api.github.com/repos/nilsdeppe/spectre/hooks","issue_events_url":"https://api.github.com/repos/nilsdeppe/spectre/issues/events{/number}","events_url":"https://api.github.com/repos/nilsdeppe/spectre/events","assignees_url":"https://api.github.com/repos/nilsdeppe/spectre/assignees{/user}","branches_url":"https://api.github.com/repos/nilsdeppe/spectre/branches{/branch}","tags_url":"https://api.github.com/repos/nilsdeppe/spectre/tags","blobs_url":"https://api.github.com/repos/nilsdeppe/spectre/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nilsdeppe/spectre/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nilsdeppe/spectre/git/refs{/sha}","trees_url":"https://api.github.com/repos/nilsdeppe/spectre/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nilsdeppe/spectre/statuses/{sha}","languages_url":"https://api.github.com/repos/nilsdeppe/spectre/languages","stargazers_url":"https://api.github.com/repos/nilsdeppe/spectre/stargazers","contributors_url":"https://api.github.com/repos/nilsdeppe/spectre/contributors","subscribers_url":"https://api.github.com/repos/nilsdeppe/spectre/subscribers","subscription_url":"https://api.github.com/repos/nilsdeppe/spectre/subscription","commits_url":"https://api.github.com/repos/nilsdeppe/spectre/commits{/sha}","git_commits_url":"https://api.github.com/repos/nilsdeppe/spectre/git/commits{/sha}","comments_url":"https://api.github.com/repos/nilsdeppe/spectre/comments{/number}","issue_comment_url":"https://api.github.com/repos/nilsdeppe/spectre/issues/comments{/number}","contents_url":"https://api.github.com/repos/nilsdeppe/spectre/contents/{+path}","compare_url":"https://api.github.com/repos/nilsdeppe/spectre/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nilsdeppe/spectre/merges","archive_url":"https://api.github.com/repos/nilsdeppe/spectre/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nilsdeppe/spectre/downloads","issues_url":"https://api.github.com/repos/nilsdeppe/spectre/issues{/number}","pulls_url":"https://api.github.com/repos/nilsdeppe/spectre/pulls{/number}","milestones_url":"https://api.github.com/repos/nilsdeppe/spectre/milestones{/number}","notifications_url":"https://api.github.com/repos/nilsdeppe/spectre/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nilsdeppe/spectre/labels{/name}","releases_url":"https://api.github.com/repos/nilsdeppe/spectre/releases{/id}","deployments_url":"https://api.github.com/repos/nilsdeppe/spectre/deployments","created_at":"2017-04-07T19:36:13Z","updated_at":"2018-03-24T04:29:33Z","pushed_at":"2018-04-05T22:18:57Z","git_url":"git://github.com/nilsdeppe/spectre.git","ssh_url":"git@github.com:nilsdeppe/spectre.git","clone_url":"https://github.com/nilsdeppe/spectre.git","svn_url":"https://github.com/nilsdeppe/spectre","homepage":null,"size":19951,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"sxs-collaboration:develop","ref":"develop","sha":"7d4ea01fbb4a7115338fc29aca27d3f895482b93","user":{"login":"sxs-collaboration","id":26882595,"avatar_url":"https://avatars2.githubusercontent.com/u/26882595?v=4","gravatar_id":"","url":"https://api.github.com/users/sxs-collaboration","html_url":"https://github.com/sxs-collaboration","followers_url":"https://api.github.com/users/sxs-collaboration/followers","following_url":"https://api.github.com/users/sxs-collaboration/following{/other_user}","gists_url":"https://api.github.com/users/sxs-collaboration/gists{/gist_id}","starred_url":"https://api.github.com/users/sxs-collaboration/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sxs-collaboration/subscriptions","organizations_url":"https://api.github.com/users/sxs-collaboration/orgs","repos_url":"https://api.github.com/users/sxs-collaboration/repos","events_url":"https://api.github.com/users/sxs-collaboration/events{/privacy}","received_events_url":"https://api.github.com/users/sxs-collaboration/received_events","type":"Organization","site_admin":false},"repo":{"id":87570510,"name":"spectre","full_name":"sxs-collaboration/spectre","owner":{"login":"sxs-collaboration","id":26882595,"avatar_url":"https://avatars2.githubusercontent.com/u/26882595?v=4","gravatar_id":"","url":"https://api.github.com/users/sxs-collaboration","html_url":"https://github.com/sxs-collaboration","followers_url":"https://api.github.com/users/sxs-collaboration/followers","following_url":"https://api.github.com/users/sxs-collaboration/following{/other_user}","gists_url":"https://api.github.com/users/sxs-collaboration/gists{/gist_id}","starred_url":"https://api.github.com/users/sxs-collaboration/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sxs-collaboration/subscriptions","organizations_url":"https://api.github.com/users/sxs-collaboration/orgs","repos_url":"https://api.github.com/users/sxs-collaboration/repos","events_url":"https://api.github.com/users/sxs-collaboration/events{/privacy}","received_events_url":"https://api.github.com/users/sxs-collaboration/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/sxs-collaboration/spectre","description":"SpECTRE is a code for multi-scale, multi-physics problems in astrophysics and gravitational physics.","fork":false,"url":"https://api.github.com/repos/sxs-collaboration/spectre","forks_url":"https://api.github.com/repos/sxs-collaboration/spectre/forks","keys_url":"https://api.github.com/repos/sxs-collaboration/spectre/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sxs-collaboration/spectre/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sxs-collaboration/spectre/teams","hooks_url":"https://api.github.com/repos/sxs-collaboration/spectre/hooks","issue_events_url":"https://api.github.com/repos/sxs-collaboration/spectre/issues/events{/number}","events_url":"https://api.github.com/repos/sxs-collaboration/spectre/events","assignees_url":"https://api.github.com/repos/sxs-collaboration/spectre/assignees{/user}","branches_url":"https://api.github.com/repos/sxs-collaboration/spectre/branches{/branch}","tags_url":"https://api.github.com/repos/sxs-collaboration/spectre/tags","blobs_url":"https://api.github.com/repos/sxs-collaboration/spectre/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sxs-collaboration/spectre/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sxs-collaboration/spectre/git/refs{/sha}","trees_url":"https://api.github.com/repos/sxs-collaboration/spectre/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sxs-collaboration/spectre/statuses/{sha}","languages_url":"https://api.github.com/repos/sxs-collaboration/spectre/languages","stargazers_url":"https://api.github.com/repos/sxs-collaboration/spectre/stargazers","contributors_url":"https://api.github.com/repos/sxs-collaboration/spectre/contributors","subscribers_url":"https://api.github.com/repos/sxs-collaboration/spectre/subscribers","subscription_url":"https://api.github.com/repos/sxs-collaboration/spectre/subscription","commits_url":"https://api.github.com/repos/sxs-collaboration/spectre/commits{/sha}","git_commits_url":"https://api.github.com/repos/sxs-collaboration/spectre/git/commits{/sha}","comments_url":"https://api.github.com/repos/sxs-collaboration/spectre/comments{/number}","issue_comment_url":"https://api.github.com/repos/sxs-collaboration/spectre/issues/comments{/number}","contents_url":"https://api.github.com/repos/sxs-collaboration/spectre/contents/{+path}","compare_url":"https://api.github.com/repos/sxs-collaboration/spectre/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sxs-collaboration/spectre/merges","archive_url":"https://api.github.com/repos/sxs-collaboration/spectre/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sxs-collaboration/spectre/downloads","issues_url":"https://api.github.com/repos/sxs-collaboration/spectre/issues{/number}","pulls_url":"https://api.github.com/repos/sxs-collaboration/spectre/pulls{/number}","milestones_url":"https://api.github.com/repos/sxs-collaboration/spectre/milestones{/number}","notifications_url":"https://api.github.com/repos/sxs-collaboration/spectre/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sxs-collaboration/spectre/labels{/name}","releases_url":"https://api.github.com/repos/sxs-collaboration/spectre/releases{/id}","deployments_url":"https://api.github.com/repos/sxs-collaboration/spectre/deployments","created_at":"2017-04-07T17:28:20Z","updated_at":"2018-04-05T22:47:40Z","pushed_at":"2018-04-05T23:51:57Z","git_url":"git://github.com/sxs-collaboration/spectre.git","ssh_url":"git@github.com:sxs-collaboration/spectre.git","clone_url":"https://github.com/sxs-collaboration/spectre.git","svn_url":"https://github.com/sxs-collaboration/spectre","homepage":"","size":8703,"stargazers_count":22,"watchers_count":22,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":18,"mirror_url":null,"archived":false,"open_issues_count":67,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":18,"open_issues":67,"watchers":22,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/sxs-collaboration/spectre/pulls/625"},"html":{"href":"https://github.com/sxs-collaboration/spectre/pull/625"},"issue":{"href":"https://api.github.com/repos/sxs-collaboration/spectre/issues/625"},"comments":{"href":"https://api.github.com/repos/sxs-collaboration/spectre/issues/625/comments"},"review_comments":{"href":"https://api.github.com/repos/sxs-collaboration/spectre/pulls/625/comments"},"review_comment":{"href":"https://api.github.com/repos/sxs-collaboration/spectre/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/sxs-collaboration/spectre/pulls/625/commits"},"statuses":{"href":"https://api.github.com/repos/sxs-collaboration/spectre/statuses/78a63a81c96094d9d4fc2b83ca2265da1e99119e"}},"author_association":"OWNER"}}
{"actor":{"display_login":"nilsdeppe"}}