{"action":"created","comment":{"url":"https://api.github.com/repos/ericniebler/stl2/pulls/comments/35941262","id":35941262,"diff_hunk":"@@ -6369,54 +6369,73 @@\n of a \\tcode{Range} type that knows its size in constant time with the\n \\tcode{size} function.\n \n-\\begin{codeblock}\n-// \\expos\n-template <class T>\n-concept bool @\\xname{SizedRangeLike}@ =\n-  Range<T>@\\newtxt{()}@ &&\n-  requires(@\\newtxt{const }@T t) {\n-    { size(t) } -> Integral;\n-    requires Convertible@\\newtxt{To}@<decltype(size(t)),\n-                           DifferenceType<IteratorType<T>>>@\\newtxt{()}@;\n-  };\n+\\begin{itemdecl}\n+@\\oldtxt{// \\expos}@\n+@\\oldtxt{template <class T>}@\n+@\\oldtxt{concept bool \\xname{SizedRangeLike} =}@\n+  @\\oldtxt{Range<T> \\&\\&}@\n+  @\\oldtxt{requires(T t) \\{}@\n+    @\\oldtxt{\\{ size(t) \\} -> Integral;}@\n+    @\\oldtxt{requires Convertible<decltype(size(t)),}@\n+                         @\\oldtxt{DifferenceType<IteratorType<T>{}>{}>;}@\n+  @\\oldtxt{\\};}@\n \n-@\\newtxt{template <class R>}@\n-@\\newtxt{struct is_sized_range;}@\n+@\\newtxt{template <class T>}@\n+@\\newtxt{struct disable_sized_range;}@\n \n template <class T>\n concept bool SizedRange@\\newtxt{() \\{}\\oldtxt{ =}@\n-  @\\newtxt{return}@ @\\xname{SizedRangeLike}@<T> && is_sized_range<T>::value;\n+  @\\oldtxt{\\xname{SizedRangeLike}<T> \\&\\& is_sized_range<T>::value;}@\n+  @\\newtxt{return !disable_sized_range<T>::value \\&\\&}@\n+    @\\newtxt{Range<T>() \\&\\&}@\n+    @\\newtxt{requires (const remove_reference_t<T>\\& t) \\{}@\n+      @\\newtxt{\\{ size(t) \\} -> Integral;}@\n+      @\\newtxt{\\{ size(t) \\} -> ConvertibleTo<DifferenceType<IteratorType<T\\&>{}>{}>;}@\n+    @\\newtxt{\\};}@\n @\\newtxt{\\}}@\n-\\end{codeblock}\n+\\end{itemdecl}\n \n+\\begin{itemdescr}\n \\pnum\n-\\newtxt{Given an object \\tcode{t} of type \\tcode{T}, \\tcode{SizedRange<T>()} is satisfied if and\n-only if \\tcode{size(t)} returns the number of elements in \\tcode{t}.}\n+\\newtxt{Given an object \\tcode{t} of type \\tcode{T}, \\tcode{SizedRange<T>()}\n+is satisfied if and only if \\tcode{size(t)} returns the number of elements in\n+\\tcode{t}.}\n \n \\pnum\n-For any type \\tcode{T}, \\tcode{is_sized_range<T>} derives from\n-\\tcode{true_type} if \\tcode{T} \\oldtxt{models}\\newtxt{meets the syntactic requirements of}\n-\\tcode{\\xname{SizedRangeLike}}, and \\tcode{false_type} otherwise.\n+For any type \\tcode{T}, \\tcode{\\oldtxt{is}\\newtxt{disable}_sized_range<T>}\n+derives from \\oldtxt{\\tcode{true_type} if \\tcode{T} models\n+\\tcode{\\xname{SizedRangeLike}}, and} \\tcode{false_type} \\newtxt{if \\tcode{T}\n+is a non-reference cv-unqualified type, and from \\\\\n+\\tcode{disable_sized_range<remove_cv_t<remove_reference_t<T>{}>{}>}} otherwise.","path":"iterators.tex","position":80,"original_position":80,"commit_id":"f2e137602f4a4982928275eebe5b065778421e8a","original_commit_id":"f2e137602f4a4982928275eebe5b065778421e8a","user":{"login":"CaseyCarter","id":456873,"avatar_url":"https://avatars.githubusercontent.com/u/456873?v=3","gravatar_id":"","url":"https://api.github.com/users/CaseyCarter","html_url":"https://github.com/CaseyCarter","followers_url":"https://api.github.com/users/CaseyCarter/followers","following_url":"https://api.github.com/users/CaseyCarter/following{/other_user}","gists_url":"https://api.github.com/users/CaseyCarter/gists{/gist_id}","starred_url":"https://api.github.com/users/CaseyCarter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CaseyCarter/subscriptions","organizations_url":"https://api.github.com/users/CaseyCarter/orgs","repos_url":"https://api.github.com/users/CaseyCarter/repos","events_url":"https://api.github.com/users/CaseyCarter/events{/privacy}","received_events_url":"https://api.github.com/users/CaseyCarter/received_events","type":"User","site_admin":false},"body":"This may be overkill. I can't imagine a range with `size` valid for some combination of qualifiers but not for all combinations of qualifiers. We could simplify this to `template <class> struct disable_sized_range : false_type {};` and I double anyone would ever notice the difference.","created_at":"2015-07-31T02:02:46Z","updated_at":"2015-07-31T02:02:46Z","html_url":"https://github.com/ericniebler/stl2/pull/69#discussion_r35941262","pull_request_url":"https://api.github.com/repos/ericniebler/stl2/pulls/69","_links":{"self":{"href":"https://api.github.com/repos/ericniebler/stl2/pulls/comments/35941262"},"html":{"href":"https://github.com/ericniebler/stl2/pull/69#discussion_r35941262"},"pull_request":{"href":"https://api.github.com/repos/ericniebler/stl2/pulls/69"}}},"pull_request":{"url":"https://api.github.com/repos/ericniebler/stl2/pulls/69","id":41163316,"html_url":"https://github.com/ericniebler/stl2/pull/69","diff_url":"https://github.com/ericniebler/stl2/pull/69.diff","patch_url":"https://github.com/ericniebler/stl2/pull/69.patch","issue_url":"https://api.github.com/repos/ericniebler/stl2/issues/69","number":69,"state":"open","locked":false,"title":"Update wording for SizedRange. Closes issue ericniebler/stl2#67","user":{"login":"CaseyCarter","id":456873,"avatar_url":"https://avatars.githubusercontent.com/u/456873?v=3","gravatar_id":"","url":"https://api.github.com/users/CaseyCarter","html_url":"https://github.com/CaseyCarter","followers_url":"https://api.github.com/users/CaseyCarter/followers","following_url":"https://api.github.com/users/CaseyCarter/following{/other_user}","gists_url":"https://api.github.com/users/CaseyCarter/gists{/gist_id}","starred_url":"https://api.github.com/users/CaseyCarter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CaseyCarter/subscriptions","organizations_url":"https://api.github.com/users/CaseyCarter/orgs","repos_url":"https://api.github.com/users/CaseyCarter/repos","events_url":"https://api.github.com/users/CaseyCarter/events{/privacy}","received_events_url":"https://api.github.com/users/CaseyCarter/received_events","type":"User","site_admin":false},"body":"The specification of `is_sized_range` is a bit awkward, I think it may be better to simply specify the definition normatively.","created_at":"2015-07-29T19:40:06Z","updated_at":"2015-07-31T02:02:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1b56b511eaeed8290350953e4edd1002a3e6e15e","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/ericniebler/stl2/pulls/69/commits","review_comments_url":"https://api.github.com/repos/ericniebler/stl2/pulls/69/comments","review_comment_url":"https://api.github.com/repos/ericniebler/stl2/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ericniebler/stl2/issues/69/comments","statuses_url":"https://api.github.com/repos/ericniebler/stl2/statuses/f2e137602f4a4982928275eebe5b065778421e8a","head":{"label":"CaseyCarter:master","ref":"master","sha":"f2e137602f4a4982928275eebe5b065778421e8a","user":{"login":"CaseyCarter","id":456873,"avatar_url":"https://avatars.githubusercontent.com/u/456873?v=3","gravatar_id":"","url":"https://api.github.com/users/CaseyCarter","html_url":"https://github.com/CaseyCarter","followers_url":"https://api.github.com/users/CaseyCarter/followers","following_url":"https://api.github.com/users/CaseyCarter/following{/other_user}","gists_url":"https://api.github.com/users/CaseyCarter/gists{/gist_id}","starred_url":"https://api.github.com/users/CaseyCarter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CaseyCarter/subscriptions","organizations_url":"https://api.github.com/users/CaseyCarter/orgs","repos_url":"https://api.github.com/users/CaseyCarter/repos","events_url":"https://api.github.com/users/CaseyCarter/events{/privacy}","received_events_url":"https://api.github.com/users/CaseyCarter/received_events","type":"User","site_admin":false},"repo":{"id":36177743,"name":"stl2","full_name":"CaseyCarter/stl2","owner":{"login":"CaseyCarter","id":456873,"avatar_url":"https://avatars.githubusercontent.com/u/456873?v=3","gravatar_id":"","url":"https://api.github.com/users/CaseyCarter","html_url":"https://github.com/CaseyCarter","followers_url":"https://api.github.com/users/CaseyCarter/followers","following_url":"https://api.github.com/users/CaseyCarter/following{/other_user}","gists_url":"https://api.github.com/users/CaseyCarter/gists{/gist_id}","starred_url":"https://api.github.com/users/CaseyCarter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CaseyCarter/subscriptions","organizations_url":"https://api.github.com/users/CaseyCarter/orgs","repos_url":"https://api.github.com/users/CaseyCarter/repos","events_url":"https://api.github.com/users/CaseyCarter/events{/privacy}","received_events_url":"https://api.github.com/users/CaseyCarter/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/CaseyCarter/stl2","description":"","fork":true,"url":"https://api.github.com/repos/CaseyCarter/stl2","forks_url":"https://api.github.com/repos/CaseyCarter/stl2/forks","keys_url":"https://api.github.com/repos/CaseyCarter/stl2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CaseyCarter/stl2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CaseyCarter/stl2/teams","hooks_url":"https://api.github.com/repos/CaseyCarter/stl2/hooks","issue_events_url":"https://api.github.com/repos/CaseyCarter/stl2/issues/events{/number}","events_url":"https://api.github.com/repos/CaseyCarter/stl2/events","assignees_url":"https://api.github.com/repos/CaseyCarter/stl2/assignees{/user}","branches_url":"https://api.github.com/repos/CaseyCarter/stl2/branches{/branch}","tags_url":"https://api.github.com/repos/CaseyCarter/stl2/tags","blobs_url":"https://api.github.com/repos/CaseyCarter/stl2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CaseyCarter/stl2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CaseyCarter/stl2/git/refs{/sha}","trees_url":"https://api.github.com/repos/CaseyCarter/stl2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CaseyCarter/stl2/statuses/{sha}","languages_url":"https://api.github.com/repos/CaseyCarter/stl2/languages","stargazers_url":"https://api.github.com/repos/CaseyCarter/stl2/stargazers","contributors_url":"https://api.github.com/repos/CaseyCarter/stl2/contributors","subscribers_url":"https://api.github.com/repos/CaseyCarter/stl2/subscribers","subscription_url":"https://api.github.com/repos/CaseyCarter/stl2/subscription","commits_url":"https://api.github.com/repos/CaseyCarter/stl2/commits{/sha}","git_commits_url":"https://api.github.com/repos/CaseyCarter/stl2/git/commits{/sha}","comments_url":"https://api.github.com/repos/CaseyCarter/stl2/comments{/number}","issue_comment_url":"https://api.github.com/repos/CaseyCarter/stl2/issues/comments{/number}","contents_url":"https://api.github.com/repos/CaseyCarter/stl2/contents/{+path}","compare_url":"https://api.github.com/repos/CaseyCarter/stl2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CaseyCarter/stl2/merges","archive_url":"https://api.github.com/repos/CaseyCarter/stl2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CaseyCarter/stl2/downloads","issues_url":"https://api.github.com/repos/CaseyCarter/stl2/issues{/number}","pulls_url":"https://api.github.com/repos/CaseyCarter/stl2/pulls{/number}","milestones_url":"https://api.github.com/repos/CaseyCarter/stl2/milestones{/number}","notifications_url":"https://api.github.com/repos/CaseyCarter/stl2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CaseyCarter/stl2/labels{/name}","releases_url":"https://api.github.com/repos/CaseyCarter/stl2/releases{/id}","created_at":"2015-05-24T15:06:54Z","updated_at":"2015-07-21T12:34:07Z","pushed_at":"2015-07-31T01:59:23Z","git_url":"git://github.com/CaseyCarter/stl2.git","ssh_url":"git@github.com:CaseyCarter/stl2.git","clone_url":"https://github.com/CaseyCarter/stl2.git","svn_url":"https://github.com/CaseyCarter/stl2","homepage":null,"size":17723,"stargazers_count":2,"watchers_count":2,"language":"TeX","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":7,"forks":0,"open_issues":7,"watchers":2,"default_branch":"master"}},"base":{"label":"ericniebler:master","ref":"master","sha":"a79023a0254fa0c39a7c31279141a694eb0952a7","user":{"login":"ericniebler","id":225757,"avatar_url":"https://avatars.githubusercontent.com/u/225757?v=3","gravatar_id":"","url":"https://api.github.com/users/ericniebler","html_url":"https://github.com/ericniebler","followers_url":"https://api.github.com/users/ericniebler/followers","following_url":"https://api.github.com/users/ericniebler/following{/other_user}","gists_url":"https://api.github.com/users/ericniebler/gists{/gist_id}","starred_url":"https://api.github.com/users/ericniebler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericniebler/subscriptions","organizations_url":"https://api.github.com/users/ericniebler/orgs","repos_url":"https://api.github.com/users/ericniebler/repos","events_url":"https://api.github.com/users/ericniebler/events{/privacy}","received_events_url":"https://api.github.com/users/ericniebler/received_events","type":"User","site_admin":false},"repo":{"id":26772882,"name":"stl2","full_name":"ericniebler/stl2","owner":{"login":"ericniebler","id":225757,"avatar_url":"https://avatars.githubusercontent.com/u/225757?v=3","gravatar_id":"","url":"https://api.github.com/users/ericniebler","html_url":"https://github.com/ericniebler","followers_url":"https://api.github.com/users/ericniebler/followers","following_url":"https://api.github.com/users/ericniebler/following{/other_user}","gists_url":"https://api.github.com/users/ericniebler/gists{/gist_id}","starred_url":"https://api.github.com/users/ericniebler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericniebler/subscriptions","organizations_url":"https://api.github.com/users/ericniebler/orgs","repos_url":"https://api.github.com/users/ericniebler/repos","events_url":"https://api.github.com/users/ericniebler/events{/privacy}","received_events_url":"https://api.github.com/users/ericniebler/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ericniebler/stl2","description":"LaTeX and Markdown source for the Ranges TS/STL2 and associated proposals","fork":false,"url":"https://api.github.com/repos/ericniebler/stl2","forks_url":"https://api.github.com/repos/ericniebler/stl2/forks","keys_url":"https://api.github.com/repos/ericniebler/stl2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ericniebler/stl2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ericniebler/stl2/teams","hooks_url":"https://api.github.com/repos/ericniebler/stl2/hooks","issue_events_url":"https://api.github.com/repos/ericniebler/stl2/issues/events{/number}","events_url":"https://api.github.com/repos/ericniebler/stl2/events","assignees_url":"https://api.github.com/repos/ericniebler/stl2/assignees{/user}","branches_url":"https://api.github.com/repos/ericniebler/stl2/branches{/branch}","tags_url":"https://api.github.com/repos/ericniebler/stl2/tags","blobs_url":"https://api.github.com/repos/ericniebler/stl2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ericniebler/stl2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ericniebler/stl2/git/refs{/sha}","trees_url":"https://api.github.com/repos/ericniebler/stl2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ericniebler/stl2/statuses/{sha}","languages_url":"https://api.github.com/repos/ericniebler/stl2/languages","stargazers_url":"https://api.github.com/repos/ericniebler/stl2/stargazers","contributors_url":"https://api.github.com/repos/ericniebler/stl2/contributors","subscribers_url":"https://api.github.com/repos/ericniebler/stl2/subscribers","subscription_url":"https://api.github.com/repos/ericniebler/stl2/subscription","commits_url":"https://api.github.com/repos/ericniebler/stl2/commits{/sha}","git_commits_url":"https://api.github.com/repos/ericniebler/stl2/git/commits{/sha}","comments_url":"https://api.github.com/repos/ericniebler/stl2/comments{/number}","issue_comment_url":"https://api.github.com/repos/ericniebler/stl2/issues/comments{/number}","contents_url":"https://api.github.com/repos/ericniebler/stl2/contents/{+path}","compare_url":"https://api.github.com/repos/ericniebler/stl2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ericniebler/stl2/merges","archive_url":"https://api.github.com/repos/ericniebler/stl2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ericniebler/stl2/downloads","issues_url":"https://api.github.com/repos/ericniebler/stl2/issues{/number}","pulls_url":"https://api.github.com/repos/ericniebler/stl2/pulls{/number}","milestones_url":"https://api.github.com/repos/ericniebler/stl2/milestones{/number}","notifications_url":"https://api.github.com/repos/ericniebler/stl2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ericniebler/stl2/labels{/name}","releases_url":"https://api.github.com/repos/ericniebler/stl2/releases{/id}","created_at":"2014-11-17T19:19:15Z","updated_at":"2015-07-24T01:37:00Z","pushed_at":"2015-07-31T01:59:23Z","git_url":"git://github.com/ericniebler/stl2.git","ssh_url":"git@github.com:ericniebler/stl2.git","clone_url":"https://github.com/ericniebler/stl2.git","svn_url":"https://github.com/ericniebler/stl2","homepage":"","size":15625,"stargazers_count":18,"watchers_count":18,"language":"TeX","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":20,"forks":2,"open_issues":20,"watchers":18,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ericniebler/stl2/pulls/69"},"html":{"href":"https://github.com/ericniebler/stl2/pull/69"},"issue":{"href":"https://api.github.com/repos/ericniebler/stl2/issues/69"},"comments":{"href":"https://api.github.com/repos/ericniebler/stl2/issues/69/comments"},"review_comments":{"href":"https://api.github.com/repos/ericniebler/stl2/pulls/69/comments"},"review_comment":{"href":"https://api.github.com/repos/ericniebler/stl2/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ericniebler/stl2/pulls/69/commits"},"statuses":{"href":"https://api.github.com/repos/ericniebler/stl2/statuses/f2e137602f4a4982928275eebe5b065778421e8a"}}}}