{"action":"created","comment":{"url":"https://api.github.com/repos/k06a/boolinq/pulls/comments/63013862","id":63013862,"diff_hunk":"@@ -757,48 +757,43 @@ namespace boolinq\n         return from<T>(array, array + N);\n     }\n \n-    // std::list, vector, dequeue\n+    template<template<class> class TV, typename TT>\n+    auto from(const TV<TT> & container)\n+        -> decltype(from<TT>(std::begin(container), std::end(container)))\n+    {\n+        return from<TT>(std::begin(container), std::end(container));\n+    }\n+\n+    // std::list, std::vector, std::dequeue\n     template<template<class,class> class TV, typename TT, typename TU>\n-    auto from(const TV<TT,TU> & container) -> LinqObj<Enumerator<TT,IteratorContainerPair<decltype(container.cbegin()),const TV<TT,TU> > > >\n+    auto from(const TV<TT,TU> & container)\n+        -> decltype(from<TT>(std::begin(container), std::end(container)))\n     {\n-        typedef IteratorContainerPair<decltype(container.cbegin()),const TV<TT,TU> > DataType;\n-    \n-        return Enumerator<TT,DataType>([](DataType & pair){\n-            return (pair.first == pair.second.cend()) ? throw EnumeratorEndException() : *(pair.first++);\n-        }, DataType(container, [](const TV<TT,TU> & cont){return cont.cbegin();}));\n+        return from<TT>(std::begin(container), std::end(container));","path":"include/boolinq/boolinq.h","position":23,"original_position":23,"commit_id":"8f8baff2c6699b4d2df8621357fb3fce392da771","original_commit_id":"8f8baff2c6699b4d2df8621357fb3fce392da771","user":{"login":"babelvit","id":7063984,"avatar_url":"https://avatars.githubusercontent.com/u/7063984?v=3","gravatar_id":"","url":"https://api.github.com/users/babelvit","html_url":"https://github.com/babelvit","followers_url":"https://api.github.com/users/babelvit/followers","following_url":"https://api.github.com/users/babelvit/following{/other_user}","gists_url":"https://api.github.com/users/babelvit/gists{/gist_id}","starred_url":"https://api.github.com/users/babelvit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/babelvit/subscriptions","organizations_url":"https://api.github.com/users/babelvit/orgs","repos_url":"https://api.github.com/users/babelvit/repos","events_url":"https://api.github.com/users/babelvit/events{/privacy}","received_events_url":"https://api.github.com/users/babelvit/received_events","type":"User","site_admin":false},"body":"Am I missing reason, why this was not simple like this from beginning?","created_at":"2016-05-12T12:51:50Z","updated_at":"2016-05-12T12:51:50Z","html_url":"https://github.com/k06a/boolinq/pull/15#discussion_r63013862","pull_request_url":"https://api.github.com/repos/k06a/boolinq/pulls/15","_links":{"self":{"href":"https://api.github.com/repos/k06a/boolinq/pulls/comments/63013862"},"html":{"href":"https://github.com/k06a/boolinq/pull/15#discussion_r63013862"},"pull_request":{"href":"https://api.github.com/repos/k06a/boolinq/pulls/15"}}},"pull_request":{"url":"https://api.github.com/repos/k06a/boolinq/pulls/15","id":69827851,"html_url":"https://github.com/k06a/boolinq/pull/15","diff_url":"https://github.com/k06a/boolinq/pull/15.diff","patch_url":"https://github.com/k06a/boolinq/pull/15.patch","issue_url":"https://api.github.com/repos/k06a/boolinq/issues/15","number":15,"state":"open","locked":false,"title":"Linq creators","user":{"login":"babelvit","id":7063984,"avatar_url":"https://avatars.githubusercontent.com/u/7063984?v=3","gravatar_id":"","url":"https://api.github.com/users/babelvit","html_url":"https://github.com/babelvit","followers_url":"https://api.github.com/users/babelvit/followers","following_url":"https://api.github.com/users/babelvit/following{/other_user}","gists_url":"https://api.github.com/users/babelvit/gists{/gist_id}","starred_url":"https://api.github.com/users/babelvit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/babelvit/subscriptions","organizations_url":"https://api.github.com/users/babelvit/orgs","repos_url":"https://api.github.com/users/babelvit/repos","events_url":"https://api.github.com/users/babelvit/events{/privacy}","received_events_url":"https://api.github.com/users/babelvit/received_events","type":"User","site_admin":false},"body":" * Few initial commits made it possible for me to build tests on Cygwin.\r\n * Next, I added few missing tests.\r\n * Refactored linq-creators to clean code and solved https://github.com/k06a/boolinq/issues/14.","created_at":"2016-05-12T12:30:01Z","updated_at":"2016-05-12T12:51:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"753f8c55781106cef98685d7b6c256025d5c49cb","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/k06a/boolinq/pulls/15/commits","review_comments_url":"https://api.github.com/repos/k06a/boolinq/pulls/15/comments","review_comment_url":"https://api.github.com/repos/k06a/boolinq/pulls/comments{/number}","comments_url":"https://api.github.com/repos/k06a/boolinq/issues/15/comments","statuses_url":"https://api.github.com/repos/k06a/boolinq/statuses/8f8baff2c6699b4d2df8621357fb3fce392da771","head":{"label":"babelvit:linq-creators","ref":"linq-creators","sha":"8f8baff2c6699b4d2df8621357fb3fce392da771","user":{"login":"babelvit","id":7063984,"avatar_url":"https://avatars.githubusercontent.com/u/7063984?v=3","gravatar_id":"","url":"https://api.github.com/users/babelvit","html_url":"https://github.com/babelvit","followers_url":"https://api.github.com/users/babelvit/followers","following_url":"https://api.github.com/users/babelvit/following{/other_user}","gists_url":"https://api.github.com/users/babelvit/gists{/gist_id}","starred_url":"https://api.github.com/users/babelvit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/babelvit/subscriptions","organizations_url":"https://api.github.com/users/babelvit/orgs","repos_url":"https://api.github.com/users/babelvit/repos","events_url":"https://api.github.com/users/babelvit/events{/privacy}","received_events_url":"https://api.github.com/users/babelvit/received_events","type":"User","site_admin":false},"repo":{"id":30936277,"name":"boolinq","full_name":"babelvit/boolinq","owner":{"login":"babelvit","id":7063984,"avatar_url":"https://avatars.githubusercontent.com/u/7063984?v=3","gravatar_id":"","url":"https://api.github.com/users/babelvit","html_url":"https://github.com/babelvit","followers_url":"https://api.github.com/users/babelvit/followers","following_url":"https://api.github.com/users/babelvit/following{/other_user}","gists_url":"https://api.github.com/users/babelvit/gists{/gist_id}","starred_url":"https://api.github.com/users/babelvit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/babelvit/subscriptions","organizations_url":"https://api.github.com/users/babelvit/orgs","repos_url":"https://api.github.com/users/babelvit/repos","events_url":"https://api.github.com/users/babelvit/events{/privacy}","received_events_url":"https://api.github.com/users/babelvit/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/babelvit/boolinq","description":"C++ header-only Ranges and LINQ template library // Comes from http://code.google.com/p/boolinq/","fork":true,"url":"https://api.github.com/repos/babelvit/boolinq","forks_url":"https://api.github.com/repos/babelvit/boolinq/forks","keys_url":"https://api.github.com/repos/babelvit/boolinq/keys{/key_id}","collaborators_url":"https://api.github.com/repos/babelvit/boolinq/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/babelvit/boolinq/teams","hooks_url":"https://api.github.com/repos/babelvit/boolinq/hooks","issue_events_url":"https://api.github.com/repos/babelvit/boolinq/issues/events{/number}","events_url":"https://api.github.com/repos/babelvit/boolinq/events","assignees_url":"https://api.github.com/repos/babelvit/boolinq/assignees{/user}","branches_url":"https://api.github.com/repos/babelvit/boolinq/branches{/branch}","tags_url":"https://api.github.com/repos/babelvit/boolinq/tags","blobs_url":"https://api.github.com/repos/babelvit/boolinq/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/babelvit/boolinq/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/babelvit/boolinq/git/refs{/sha}","trees_url":"https://api.github.com/repos/babelvit/boolinq/git/trees{/sha}","statuses_url":"https://api.github.com/repos/babelvit/boolinq/statuses/{sha}","languages_url":"https://api.github.com/repos/babelvit/boolinq/languages","stargazers_url":"https://api.github.com/repos/babelvit/boolinq/stargazers","contributors_url":"https://api.github.com/repos/babelvit/boolinq/contributors","subscribers_url":"https://api.github.com/repos/babelvit/boolinq/subscribers","subscription_url":"https://api.github.com/repos/babelvit/boolinq/subscription","commits_url":"https://api.github.com/repos/babelvit/boolinq/commits{/sha}","git_commits_url":"https://api.github.com/repos/babelvit/boolinq/git/commits{/sha}","comments_url":"https://api.github.com/repos/babelvit/boolinq/comments{/number}","issue_comment_url":"https://api.github.com/repos/babelvit/boolinq/issues/comments{/number}","contents_url":"https://api.github.com/repos/babelvit/boolinq/contents/{+path}","compare_url":"https://api.github.com/repos/babelvit/boolinq/compare/{base}...{head}","merges_url":"https://api.github.com/repos/babelvit/boolinq/merges","archive_url":"https://api.github.com/repos/babelvit/boolinq/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/babelvit/boolinq/downloads","issues_url":"https://api.github.com/repos/babelvit/boolinq/issues{/number}","pulls_url":"https://api.github.com/repos/babelvit/boolinq/pulls{/number}","milestones_url":"https://api.github.com/repos/babelvit/boolinq/milestones{/number}","notifications_url":"https://api.github.com/repos/babelvit/boolinq/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/babelvit/boolinq/labels{/name}","releases_url":"https://api.github.com/repos/babelvit/boolinq/releases{/id}","deployments_url":"https://api.github.com/repos/babelvit/boolinq/deployments","created_at":"2015-02-17T20:30:50Z","updated_at":"2015-02-17T23:17:18Z","pushed_at":"2016-05-12T12:20:02Z","git_url":"git://github.com/babelvit/boolinq.git","ssh_url":"git@github.com:babelvit/boolinq.git","clone_url":"https://github.com/babelvit/boolinq.git","svn_url":"https://github.com/babelvit/boolinq","homepage":"","size":702,"stargazers_count":0,"watchers_count":0,"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":0,"default_branch":"master"}},"base":{"label":"k06a:master","ref":"master","sha":"d121f3456d4470f4c3d86932d5e82bc208a779df","user":{"login":"k06a","id":702124,"avatar_url":"https://avatars.githubusercontent.com/u/702124?v=3","gravatar_id":"","url":"https://api.github.com/users/k06a","html_url":"https://github.com/k06a","followers_url":"https://api.github.com/users/k06a/followers","following_url":"https://api.github.com/users/k06a/following{/other_user}","gists_url":"https://api.github.com/users/k06a/gists{/gist_id}","starred_url":"https://api.github.com/users/k06a/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/k06a/subscriptions","organizations_url":"https://api.github.com/users/k06a/orgs","repos_url":"https://api.github.com/users/k06a/repos","events_url":"https://api.github.com/users/k06a/events{/privacy}","received_events_url":"https://api.github.com/users/k06a/received_events","type":"User","site_admin":false},"repo":{"id":3550991,"name":"boolinq","full_name":"k06a/boolinq","owner":{"login":"k06a","id":702124,"avatar_url":"https://avatars.githubusercontent.com/u/702124?v=3","gravatar_id":"","url":"https://api.github.com/users/k06a","html_url":"https://github.com/k06a","followers_url":"https://api.github.com/users/k06a/followers","following_url":"https://api.github.com/users/k06a/following{/other_user}","gists_url":"https://api.github.com/users/k06a/gists{/gist_id}","starred_url":"https://api.github.com/users/k06a/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/k06a/subscriptions","organizations_url":"https://api.github.com/users/k06a/orgs","repos_url":"https://api.github.com/users/k06a/repos","events_url":"https://api.github.com/users/k06a/events{/privacy}","received_events_url":"https://api.github.com/users/k06a/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/k06a/boolinq","description":"Simplest C++ header-only LINQ template library","fork":false,"url":"https://api.github.com/repos/k06a/boolinq","forks_url":"https://api.github.com/repos/k06a/boolinq/forks","keys_url":"https://api.github.com/repos/k06a/boolinq/keys{/key_id}","collaborators_url":"https://api.github.com/repos/k06a/boolinq/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/k06a/boolinq/teams","hooks_url":"https://api.github.com/repos/k06a/boolinq/hooks","issue_events_url":"https://api.github.com/repos/k06a/boolinq/issues/events{/number}","events_url":"https://api.github.com/repos/k06a/boolinq/events","assignees_url":"https://api.github.com/repos/k06a/boolinq/assignees{/user}","branches_url":"https://api.github.com/repos/k06a/boolinq/branches{/branch}","tags_url":"https://api.github.com/repos/k06a/boolinq/tags","blobs_url":"https://api.github.com/repos/k06a/boolinq/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/k06a/boolinq/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/k06a/boolinq/git/refs{/sha}","trees_url":"https://api.github.com/repos/k06a/boolinq/git/trees{/sha}","statuses_url":"https://api.github.com/repos/k06a/boolinq/statuses/{sha}","languages_url":"https://api.github.com/repos/k06a/boolinq/languages","stargazers_url":"https://api.github.com/repos/k06a/boolinq/stargazers","contributors_url":"https://api.github.com/repos/k06a/boolinq/contributors","subscribers_url":"https://api.github.com/repos/k06a/boolinq/subscribers","subscription_url":"https://api.github.com/repos/k06a/boolinq/subscription","commits_url":"https://api.github.com/repos/k06a/boolinq/commits{/sha}","git_commits_url":"https://api.github.com/repos/k06a/boolinq/git/commits{/sha}","comments_url":"https://api.github.com/repos/k06a/boolinq/comments{/number}","issue_comment_url":"https://api.github.com/repos/k06a/boolinq/issues/comments{/number}","contents_url":"https://api.github.com/repos/k06a/boolinq/contents/{+path}","compare_url":"https://api.github.com/repos/k06a/boolinq/compare/{base}...{head}","merges_url":"https://api.github.com/repos/k06a/boolinq/merges","archive_url":"https://api.github.com/repos/k06a/boolinq/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/k06a/boolinq/downloads","issues_url":"https://api.github.com/repos/k06a/boolinq/issues{/number}","pulls_url":"https://api.github.com/repos/k06a/boolinq/pulls{/number}","milestones_url":"https://api.github.com/repos/k06a/boolinq/milestones{/number}","notifications_url":"https://api.github.com/repos/k06a/boolinq/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/k06a/boolinq/labels{/name}","releases_url":"https://api.github.com/repos/k06a/boolinq/releases{/id}","deployments_url":"https://api.github.com/repos/k06a/boolinq/deployments","created_at":"2012-02-26T09:25:40Z","updated_at":"2016-05-10T02:07:40Z","pushed_at":"2016-05-12T12:30:01Z","git_url":"git://github.com/k06a/boolinq.git","ssh_url":"git@github.com:k06a/boolinq.git","clone_url":"https://github.com/k06a/boolinq.git","svn_url":"https://github.com/k06a/boolinq","homepage":"","size":937,"stargazers_count":98,"watchers_count":98,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":14,"mirror_url":null,"open_issues_count":2,"forks":14,"open_issues":2,"watchers":98,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/k06a/boolinq/pulls/15"},"html":{"href":"https://github.com/k06a/boolinq/pull/15"},"issue":{"href":"https://api.github.com/repos/k06a/boolinq/issues/15"},"comments":{"href":"https://api.github.com/repos/k06a/boolinq/issues/15/comments"},"review_comments":{"href":"https://api.github.com/repos/k06a/boolinq/pulls/15/comments"},"review_comment":{"href":"https://api.github.com/repos/k06a/boolinq/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/k06a/boolinq/pulls/15/commits"},"statuses":{"href":"https://api.github.com/repos/k06a/boolinq/statuses/8f8baff2c6699b4d2df8621357fb3fce392da771"}}}}