{"action":"created","comment":{"url":"https://api.github.com/repos/antik9/ReviewPrintIp/pulls/comments/211790818","pull_request_review_id":148287857,"id":211790818,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMTc5MDgxOA==","diff_hunk":"@@ -0,0 +1,249 @@\n+/*!\n+ * \\file\n+ * \\brief module provides templates for printing ip from various sources coming into the function.\n+ */\n+\n+#include <iostream>\n+#include <list>\n+#include <vector>\n+#include <tuple>\n+#include <type_traits>\n+\n+const unsigned int OCTAL = 8;\n+const unsigned int OCTET = ((1 << OCTAL) - 1);\n+\n+// Forward Declaration \n+template<typename T>\n+void\n+__print_by_octets(T ip_v, int bytes, bool eofline=false); \n+\n+template<typename... T>\n+void \n+__print_tuple_args(const std::tuple<T...>& ip_v); \n+    \n+// Definition\n+\n+/*!\n+ * \\brief Helper struct to identify std::list and std::vector STL containers.\n+ */\n+template<class T>\n+struct __is_container\n+{\n+    /*!\n+     * Bool value indicator is passed type T is std::list or std::vector container\n+     */\n+    static const bool value = false;\n+};\n+\n+/*!\n+ * \\brief Helper struct to identify std::list and std::vector STL containers.\n+ */\n+template <typename ...T>\n+struct __is_container<std::list<T...>>\n+{\n+    /*!\n+     * Bool value indicator is passed type T is std::list or std::vector container\n+     */\n+    static const bool value = true;\n+};\n+\n+/*!\n+ * \\brief Helper struct to identify std::list and std::vector STL containers.\n+ */\n+template <typename ...T>\n+struct __is_container<std::vector<T...>>\n+{\n+    /*!\n+     * Bool value indicator is passed type T is std::list or std::vector container\n+     */\n+    static const bool value = true;\n+};\n+\n+/*!\n+ * \\brief Helper class for tuple type checking.\n+ */\n+template<typename T, typename U, typename ...Args>\n+struct \n+__is_unified_pack \n+{\n+    static const bool value = std::is_same<T, U>::value & __is_unified_pack<T, Args...>::value;\n+};\n+\n+/*!\n+ * \\brief Helper class for tuple type checking.\n+ */\n+template<typename T, typename U>\n+struct \n+__is_unified_pack<T, U>\n+{\n+    static const bool value = std::is_same<T, U>::value;\n+};\n+\n+/*!\n+ * \\brief Struct for checking tuple for unificated values.\n+ *\n+ * In the time of compilation struct checks argument by argument for provided tuple\n+ * if all of them have the same type.\n+ */\n+template<typename T, typename ...Args>\n+struct \n+__is_unified_tuple \n+{\n+    /*! \n+     * Value is static bool which __is_unified_tuple struct provides for type-checking.\n+     * \\code\n+     * __is_unified_tuple::value\n+     * \\endcode\n+     */\n+    static const bool value = __is_unified_pack<T, T, Args...>::value;\n+};\n+\n+/*!\n+ * \\brief Function print_ip for integral types.\n+ * \\param[in] ip_v IP address representation as a char, short, int or long\n+ * \\param[in] eofline bool value to indicate should be EOL be printed after ip","path":"src/print_ip.hpp","position":104,"original_position":104,"commit_id":"2bdbff93c3fc9488c2e010a7e86cce8e4270d559","original_commit_id":"2bdbff93c3fc9488c2e010a7e86cce8e4270d559","user":{"login":"antik9","id":28681393,"node_id":"MDQ6VXNlcjI4NjgxMzkz","avatar_url":"https://avatars2.githubusercontent.com/u/28681393?v=4","gravatar_id":"","url":"https://api.github.com/users/antik9","html_url":"https://github.com/antik9","followers_url":"https://api.github.com/users/antik9/followers","following_url":"https://api.github.com/users/antik9/following{/other_user}","gists_url":"https://api.github.com/users/antik9/gists{/gist_id}","starred_url":"https://api.github.com/users/antik9/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antik9/subscriptions","organizations_url":"https://api.github.com/users/antik9/orgs","repos_url":"https://api.github.com/users/antik9/repos","events_url":"https://api.github.com/users/antik9/events{/privacy}","received_events_url":"https://api.github.com/users/antik9/received_events","type":"User","site_admin":false},"body":"Обязательно.","created_at":"2018-08-21T23:29:19Z","updated_at":"2018-08-21T23:29:19Z","html_url":"https://github.com/antik9/ReviewPrintIp/pull/1#discussion_r211790818","pull_request_url":"https://api.github.com/repos/antik9/ReviewPrintIp/pulls/1","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/antik9/ReviewPrintIp/pulls/comments/211790818"},"html":{"href":"https://github.com/antik9/ReviewPrintIp/pull/1#discussion_r211790818"},"pull_request":{"href":"https://api.github.com/repos/antik9/ReviewPrintIp/pulls/1"}},"in_reply_to_id":211126132},"pull_request":{"url":"https://api.github.com/repos/antik9/ReviewPrintIp/pulls/1","id":209310802,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA5MzEwODAy","html_url":"https://github.com/antik9/ReviewPrintIp/pull/1","diff_url":"https://github.com/antik9/ReviewPrintIp/pull/1.diff","patch_url":"https://github.com/antik9/ReviewPrintIp/pull/1.patch","issue_url":"https://api.github.com/repos/antik9/ReviewPrintIp/issues/1","number":1,"state":"open","locked":false,"title":"Review 1","user":{"login":"antik9","id":28681393,"node_id":"MDQ6VXNlcjI4NjgxMzkz","avatar_url":"https://avatars2.githubusercontent.com/u/28681393?v=4","gravatar_id":"","url":"https://api.github.com/users/antik9","html_url":"https://github.com/antik9","followers_url":"https://api.github.com/users/antik9/followers","following_url":"https://api.github.com/users/antik9/following{/other_user}","gists_url":"https://api.github.com/users/antik9/gists{/gist_id}","starred_url":"https://api.github.com/users/antik9/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antik9/subscriptions","organizations_url":"https://api.github.com/users/antik9/orgs","repos_url":"https://api.github.com/users/antik9/repos","events_url":"https://api.github.com/users/antik9/events{/privacy}","received_events_url":"https://api.github.com/users/antik9/received_events","type":"User","site_admin":false},"body":"This reverts commit cd8c0b2acde25a4fb0d6cd2d05b1c39e83514113.\r\n\r\nAssemble all files in one commit for first reviewer.","created_at":"2018-08-18T12:53:37Z","updated_at":"2018-08-21T23:29:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8d7c7c90e433290251b83ec77013e2220b8103ff","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/antik9/ReviewPrintIp/pulls/1/commits","review_comments_url":"https://api.github.com/repos/antik9/ReviewPrintIp/pulls/1/comments","review_comment_url":"https://api.github.com/repos/antik9/ReviewPrintIp/pulls/comments{/number}","comments_url":"https://api.github.com/repos/antik9/ReviewPrintIp/issues/1/comments","statuses_url":"https://api.github.com/repos/antik9/ReviewPrintIp/statuses/2bdbff93c3fc9488c2e010a7e86cce8e4270d559","head":{"label":"antik9:Review_1","ref":"Review_1","sha":"2bdbff93c3fc9488c2e010a7e86cce8e4270d559","user":{"login":"antik9","id":28681393,"node_id":"MDQ6VXNlcjI4NjgxMzkz","avatar_url":"https://avatars2.githubusercontent.com/u/28681393?v=4","gravatar_id":"","url":"https://api.github.com/users/antik9","html_url":"https://github.com/antik9","followers_url":"https://api.github.com/users/antik9/followers","following_url":"https://api.github.com/users/antik9/following{/other_user}","gists_url":"https://api.github.com/users/antik9/gists{/gist_id}","starred_url":"https://api.github.com/users/antik9/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antik9/subscriptions","organizations_url":"https://api.github.com/users/antik9/orgs","repos_url":"https://api.github.com/users/antik9/repos","events_url":"https://api.github.com/users/antik9/events{/privacy}","received_events_url":"https://api.github.com/users/antik9/received_events","type":"User","site_admin":false},"repo":{"id":145219393,"node_id":"MDEwOlJlcG9zaXRvcnkxNDUyMTkzOTM=","name":"ReviewPrintIp","full_name":"antik9/ReviewPrintIp","owner":{"login":"antik9","id":28681393,"node_id":"MDQ6VXNlcjI4NjgxMzkz","avatar_url":"https://avatars2.githubusercontent.com/u/28681393?v=4","gravatar_id":"","url":"https://api.github.com/users/antik9","html_url":"https://github.com/antik9","followers_url":"https://api.github.com/users/antik9/followers","following_url":"https://api.github.com/users/antik9/following{/other_user}","gists_url":"https://api.github.com/users/antik9/gists{/gist_id}","starred_url":"https://api.github.com/users/antik9/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antik9/subscriptions","organizations_url":"https://api.github.com/users/antik9/orgs","repos_url":"https://api.github.com/users/antik9/repos","events_url":"https://api.github.com/users/antik9/events{/privacy}","received_events_url":"https://api.github.com/users/antik9/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/antik9/ReviewPrintIp","description":"Reviews on print ip otus homework","fork":false,"url":"https://api.github.com/repos/antik9/ReviewPrintIp","forks_url":"https://api.github.com/repos/antik9/ReviewPrintIp/forks","keys_url":"https://api.github.com/repos/antik9/ReviewPrintIp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/antik9/ReviewPrintIp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/antik9/ReviewPrintIp/teams","hooks_url":"https://api.github.com/repos/antik9/ReviewPrintIp/hooks","issue_events_url":"https://api.github.com/repos/antik9/ReviewPrintIp/issues/events{/number}","events_url":"https://api.github.com/repos/antik9/ReviewPrintIp/events","assignees_url":"https://api.github.com/repos/antik9/ReviewPrintIp/assignees{/user}","branches_url":"https://api.github.com/repos/antik9/ReviewPrintIp/branches{/branch}","tags_url":"https://api.github.com/repos/antik9/ReviewPrintIp/tags","blobs_url":"https://api.github.com/repos/antik9/ReviewPrintIp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/antik9/ReviewPrintIp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/antik9/ReviewPrintIp/git/refs{/sha}","trees_url":"https://api.github.com/repos/antik9/ReviewPrintIp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/antik9/ReviewPrintIp/statuses/{sha}","languages_url":"https://api.github.com/repos/antik9/ReviewPrintIp/languages","stargazers_url":"https://api.github.com/repos/antik9/ReviewPrintIp/stargazers","contributors_url":"https://api.github.com/repos/antik9/ReviewPrintIp/contributors","subscribers_url":"https://api.github.com/repos/antik9/ReviewPrintIp/subscribers","subscription_url":"https://api.github.com/repos/antik9/ReviewPrintIp/subscription","commits_url":"https://api.github.com/repos/antik9/ReviewPrintIp/commits{/sha}","git_commits_url":"https://api.github.com/repos/antik9/ReviewPrintIp/git/commits{/sha}","comments_url":"https://api.github.com/repos/antik9/ReviewPrintIp/comments{/number}","issue_comment_url":"https://api.github.com/repos/antik9/ReviewPrintIp/issues/comments{/number}","contents_url":"https://api.github.com/repos/antik9/ReviewPrintIp/contents/{+path}","compare_url":"https://api.github.com/repos/antik9/ReviewPrintIp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/antik9/ReviewPrintIp/merges","archive_url":"https://api.github.com/repos/antik9/ReviewPrintIp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/antik9/ReviewPrintIp/downloads","issues_url":"https://api.github.com/repos/antik9/ReviewPrintIp/issues{/number}","pulls_url":"https://api.github.com/repos/antik9/ReviewPrintIp/pulls{/number}","milestones_url":"https://api.github.com/repos/antik9/ReviewPrintIp/milestones{/number}","notifications_url":"https://api.github.com/repos/antik9/ReviewPrintIp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/antik9/ReviewPrintIp/labels{/name}","releases_url":"https://api.github.com/repos/antik9/ReviewPrintIp/releases{/id}","deployments_url":"https://api.github.com/repos/antik9/ReviewPrintIp/deployments","created_at":"2018-08-18T12:45:58Z","updated_at":"2018-08-18T12:48:56Z","pushed_at":"2018-08-18T12:54:05Z","git_url":"git://github.com/antik9/ReviewPrintIp.git","ssh_url":"git@github.com:antik9/ReviewPrintIp.git","clone_url":"https://github.com/antik9/ReviewPrintIp.git","svn_url":"https://github.com/antik9/ReviewPrintIp","homepage":null,"size":32,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":2,"license":null,"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"base":{"label":"antik9:master","ref":"master","sha":"cd8c0b2acde25a4fb0d6cd2d05b1c39e83514113","user":{"login":"antik9","id":28681393,"node_id":"MDQ6VXNlcjI4NjgxMzkz","avatar_url":"https://avatars2.githubusercontent.com/u/28681393?v=4","gravatar_id":"","url":"https://api.github.com/users/antik9","html_url":"https://github.com/antik9","followers_url":"https://api.github.com/users/antik9/followers","following_url":"https://api.github.com/users/antik9/following{/other_user}","gists_url":"https://api.github.com/users/antik9/gists{/gist_id}","starred_url":"https://api.github.com/users/antik9/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antik9/subscriptions","organizations_url":"https://api.github.com/users/antik9/orgs","repos_url":"https://api.github.com/users/antik9/repos","events_url":"https://api.github.com/users/antik9/events{/privacy}","received_events_url":"https://api.github.com/users/antik9/received_events","type":"User","site_admin":false},"repo":{"id":145219393,"node_id":"MDEwOlJlcG9zaXRvcnkxNDUyMTkzOTM=","name":"ReviewPrintIp","full_name":"antik9/ReviewPrintIp","owner":{"login":"antik9","id":28681393,"node_id":"MDQ6VXNlcjI4NjgxMzkz","avatar_url":"https://avatars2.githubusercontent.com/u/28681393?v=4","gravatar_id":"","url":"https://api.github.com/users/antik9","html_url":"https://github.com/antik9","followers_url":"https://api.github.com/users/antik9/followers","following_url":"https://api.github.com/users/antik9/following{/other_user}","gists_url":"https://api.github.com/users/antik9/gists{/gist_id}","starred_url":"https://api.github.com/users/antik9/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antik9/subscriptions","organizations_url":"https://api.github.com/users/antik9/orgs","repos_url":"https://api.github.com/users/antik9/repos","events_url":"https://api.github.com/users/antik9/events{/privacy}","received_events_url":"https://api.github.com/users/antik9/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/antik9/ReviewPrintIp","description":"Reviews on print ip otus homework","fork":false,"url":"https://api.github.com/repos/antik9/ReviewPrintIp","forks_url":"https://api.github.com/repos/antik9/ReviewPrintIp/forks","keys_url":"https://api.github.com/repos/antik9/ReviewPrintIp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/antik9/ReviewPrintIp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/antik9/ReviewPrintIp/teams","hooks_url":"https://api.github.com/repos/antik9/ReviewPrintIp/hooks","issue_events_url":"https://api.github.com/repos/antik9/ReviewPrintIp/issues/events{/number}","events_url":"https://api.github.com/repos/antik9/ReviewPrintIp/events","assignees_url":"https://api.github.com/repos/antik9/ReviewPrintIp/assignees{/user}","branches_url":"https://api.github.com/repos/antik9/ReviewPrintIp/branches{/branch}","tags_url":"https://api.github.com/repos/antik9/ReviewPrintIp/tags","blobs_url":"https://api.github.com/repos/antik9/ReviewPrintIp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/antik9/ReviewPrintIp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/antik9/ReviewPrintIp/git/refs{/sha}","trees_url":"https://api.github.com/repos/antik9/ReviewPrintIp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/antik9/ReviewPrintIp/statuses/{sha}","languages_url":"https://api.github.com/repos/antik9/ReviewPrintIp/languages","stargazers_url":"https://api.github.com/repos/antik9/ReviewPrintIp/stargazers","contributors_url":"https://api.github.com/repos/antik9/ReviewPrintIp/contributors","subscribers_url":"https://api.github.com/repos/antik9/ReviewPrintIp/subscribers","subscription_url":"https://api.github.com/repos/antik9/ReviewPrintIp/subscription","commits_url":"https://api.github.com/repos/antik9/ReviewPrintIp/commits{/sha}","git_commits_url":"https://api.github.com/repos/antik9/ReviewPrintIp/git/commits{/sha}","comments_url":"https://api.github.com/repos/antik9/ReviewPrintIp/comments{/number}","issue_comment_url":"https://api.github.com/repos/antik9/ReviewPrintIp/issues/comments{/number}","contents_url":"https://api.github.com/repos/antik9/ReviewPrintIp/contents/{+path}","compare_url":"https://api.github.com/repos/antik9/ReviewPrintIp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/antik9/ReviewPrintIp/merges","archive_url":"https://api.github.com/repos/antik9/ReviewPrintIp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/antik9/ReviewPrintIp/downloads","issues_url":"https://api.github.com/repos/antik9/ReviewPrintIp/issues{/number}","pulls_url":"https://api.github.com/repos/antik9/ReviewPrintIp/pulls{/number}","milestones_url":"https://api.github.com/repos/antik9/ReviewPrintIp/milestones{/number}","notifications_url":"https://api.github.com/repos/antik9/ReviewPrintIp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/antik9/ReviewPrintIp/labels{/name}","releases_url":"https://api.github.com/repos/antik9/ReviewPrintIp/releases{/id}","deployments_url":"https://api.github.com/repos/antik9/ReviewPrintIp/deployments","created_at":"2018-08-18T12:45:58Z","updated_at":"2018-08-18T12:48:56Z","pushed_at":"2018-08-18T12:54:05Z","git_url":"git://github.com/antik9/ReviewPrintIp.git","ssh_url":"git@github.com:antik9/ReviewPrintIp.git","clone_url":"https://github.com/antik9/ReviewPrintIp.git","svn_url":"https://github.com/antik9/ReviewPrintIp","homepage":null,"size":32,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":2,"license":null,"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/antik9/ReviewPrintIp/pulls/1"},"html":{"href":"https://github.com/antik9/ReviewPrintIp/pull/1"},"issue":{"href":"https://api.github.com/repos/antik9/ReviewPrintIp/issues/1"},"comments":{"href":"https://api.github.com/repos/antik9/ReviewPrintIp/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/antik9/ReviewPrintIp/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/antik9/ReviewPrintIp/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/antik9/ReviewPrintIp/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/antik9/ReviewPrintIp/statuses/2bdbff93c3fc9488c2e010a7e86cce8e4270d559"}},"author_association":"OWNER"}}
{"actor":{"display_login":"antik9"}}