{"action":"created","comment":{"url":"https://api.github.com/repos/coryan/jaybeams/pulls/comments/93134884","pull_request_review_id":13657164,"id":93134884,"diff_hunk":"@@ -0,0 +1,617 @@\n+#ifndef jb_itch5_array_based_order_book_hpp\n+#define jb_itch5_array_based_order_book_hpp\n+\n+#include <jb/itch5/price_field.hpp>\n+#include <jb/itch5/price_levels.hpp>\n+#include <jb/config_object.hpp>\n+#include <jb/feed_error.hpp>\n+#include <jb/log.hpp>\n+\n+#include <algorithm>\n+#include <cmath>\n+#include <functional>\n+#include <map>\n+#include <sstream>\n+#include <utility>\n+#include <vector>\n+\n+namespace jb {\n+namespace itch5 {\n+\n+/// A simple representation for price + quantity\n+using half_quote = std::pair<price4_t, int>;\n+\n+/// The values used to represent the range of valid prices\n+/// LOWEST_PRICE < valid price < HIGHEST_PRICE\n+const price4_t LOWEST_PRICE = price4_t(0);\n+const price4_t HIGHEST_PRICE = max_price_field_value<price4_t>();\n+const int WIRE_MAX = HIGHEST_PRICE.as_integer();\n+\n+/// price level limit between mill and penny\n+int constexpr TK_DOLLAR = 10000;","path":"jb/itch5/array_based_order_book.hpp","position":31,"original_position":31,"commit_id":"4d6781222b50774412d154bb1cb545575c3e5559","original_commit_id":"4d6781222b50774412d154bb1cb545575c3e5559","user":{"login":"GFariasR","id":22511489,"avatar_url":"https://avatars.githubusercontent.com/u/22511489?v=3","gravatar_id":"","url":"https://api.github.com/users/GFariasR","html_url":"https://github.com/GFariasR","followers_url":"https://api.github.com/users/GFariasR/followers","following_url":"https://api.github.com/users/GFariasR/following{/other_user}","gists_url":"https://api.github.com/users/GFariasR/gists{/gist_id}","starred_url":"https://api.github.com/users/GFariasR/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GFariasR/subscriptions","organizations_url":"https://api.github.com/users/GFariasR/orgs","repos_url":"https://api.github.com/users/GFariasR/repos","events_url":"https://api.github.com/users/GFariasR/events{/privacy}","received_events_url":"https://api.github.com/users/GFariasR/received_events","type":"User","site_admin":false},"body":"Actually, nope! \r\n\r\nI do not know which one are you referring too. Can we talk?","created_at":"2016-12-19T22:35:02Z","updated_at":"2016-12-19T22:35:02Z","html_url":"https://github.com/coryan/jaybeams/pull/66#discussion_r93134884","pull_request_url":"https://api.github.com/repos/coryan/jaybeams/pulls/66","_links":{"self":{"href":"https://api.github.com/repos/coryan/jaybeams/pulls/comments/93134884"},"html":{"href":"https://github.com/coryan/jaybeams/pull/66#discussion_r93134884"},"pull_request":{"href":"https://api.github.com/repos/coryan/jaybeams/pulls/66"}}},"pull_request":{"url":"https://api.github.com/repos/coryan/jaybeams/pulls/66","id":98485576,"html_url":"https://github.com/coryan/jaybeams/pull/66","diff_url":"https://github.com/coryan/jaybeams/pull/66.diff","patch_url":"https://github.com/coryan/jaybeams/pull/66.patch","issue_url":"https://api.github.com/repos/coryan/jaybeams/issues/66","number":66,"state":"open","locked":false,"title":"add array_based_order_book class","user":{"login":"GFariasR","id":22511489,"avatar_url":"https://avatars.githubusercontent.com/u/22511489?v=3","gravatar_id":"","url":"https://api.github.com/users/GFariasR","html_url":"https://github.com/GFariasR","followers_url":"https://api.github.com/users/GFariasR/followers","following_url":"https://api.github.com/users/GFariasR/following{/other_user}","gists_url":"https://api.github.com/users/GFariasR/gists{/gist_id}","starred_url":"https://api.github.com/users/GFariasR/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GFariasR/subscriptions","organizations_url":"https://api.github.com/users/GFariasR/orgs","repos_url":"https://api.github.com/users/GFariasR/repos","events_url":"https://api.github.com/users/GFariasR/events{/privacy}","received_events_url":"https://api.github.com/users/GFariasR/received_events","type":"User","site_admin":false},"body":"Add array_based_order_book based on vector (max_size configuration parameter) for top level prices.\r\nitch5inside refactoring to use array_based or map_based based on a configuration (enable_array_based) argument.","created_at":"2016-12-18T20:06:50Z","updated_at":"2016-12-19T22:35:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1c3ff62821ff5ac74d712c1a3d8bad2316a6aad4","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/coryan/jaybeams/pulls/66/commits","review_comments_url":"https://api.github.com/repos/coryan/jaybeams/pulls/66/comments","review_comment_url":"https://api.github.com/repos/coryan/jaybeams/pulls/comments{/number}","comments_url":"https://api.github.com/repos/coryan/jaybeams/issues/66/comments","statuses_url":"https://api.github.com/repos/coryan/jaybeams/statuses/4d6781222b50774412d154bb1cb545575c3e5559","head":{"label":"GFariasR:master","ref":"master","sha":"4d6781222b50774412d154bb1cb545575c3e5559","user":{"login":"GFariasR","id":22511489,"avatar_url":"https://avatars.githubusercontent.com/u/22511489?v=3","gravatar_id":"","url":"https://api.github.com/users/GFariasR","html_url":"https://github.com/GFariasR","followers_url":"https://api.github.com/users/GFariasR/followers","following_url":"https://api.github.com/users/GFariasR/following{/other_user}","gists_url":"https://api.github.com/users/GFariasR/gists{/gist_id}","starred_url":"https://api.github.com/users/GFariasR/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GFariasR/subscriptions","organizations_url":"https://api.github.com/users/GFariasR/orgs","repos_url":"https://api.github.com/users/GFariasR/repos","events_url":"https://api.github.com/users/GFariasR/events{/privacy}","received_events_url":"https://api.github.com/users/GFariasR/received_events","type":"User","site_admin":false},"repo":{"id":71006120,"name":"jaybeams","full_name":"GFariasR/jaybeams","owner":{"login":"GFariasR","id":22511489,"avatar_url":"https://avatars.githubusercontent.com/u/22511489?v=3","gravatar_id":"","url":"https://api.github.com/users/GFariasR","html_url":"https://github.com/GFariasR","followers_url":"https://api.github.com/users/GFariasR/followers","following_url":"https://api.github.com/users/GFariasR/following{/other_user}","gists_url":"https://api.github.com/users/GFariasR/gists{/gist_id}","starred_url":"https://api.github.com/users/GFariasR/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GFariasR/subscriptions","organizations_url":"https://api.github.com/users/GFariasR/orgs","repos_url":"https://api.github.com/users/GFariasR/repos","events_url":"https://api.github.com/users/GFariasR/events{/privacy}","received_events_url":"https://api.github.com/users/GFariasR/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/GFariasR/jaybeams","description":"JayBeams: A Project to have fun Coding, and maybe measure relative delays in market feeds","fork":true,"url":"https://api.github.com/repos/GFariasR/jaybeams","forks_url":"https://api.github.com/repos/GFariasR/jaybeams/forks","keys_url":"https://api.github.com/repos/GFariasR/jaybeams/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GFariasR/jaybeams/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GFariasR/jaybeams/teams","hooks_url":"https://api.github.com/repos/GFariasR/jaybeams/hooks","issue_events_url":"https://api.github.com/repos/GFariasR/jaybeams/issues/events{/number}","events_url":"https://api.github.com/repos/GFariasR/jaybeams/events","assignees_url":"https://api.github.com/repos/GFariasR/jaybeams/assignees{/user}","branches_url":"https://api.github.com/repos/GFariasR/jaybeams/branches{/branch}","tags_url":"https://api.github.com/repos/GFariasR/jaybeams/tags","blobs_url":"https://api.github.com/repos/GFariasR/jaybeams/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GFariasR/jaybeams/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GFariasR/jaybeams/git/refs{/sha}","trees_url":"https://api.github.com/repos/GFariasR/jaybeams/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GFariasR/jaybeams/statuses/{sha}","languages_url":"https://api.github.com/repos/GFariasR/jaybeams/languages","stargazers_url":"https://api.github.com/repos/GFariasR/jaybeams/stargazers","contributors_url":"https://api.github.com/repos/GFariasR/jaybeams/contributors","subscribers_url":"https://api.github.com/repos/GFariasR/jaybeams/subscribers","subscription_url":"https://api.github.com/repos/GFariasR/jaybeams/subscription","commits_url":"https://api.github.com/repos/GFariasR/jaybeams/commits{/sha}","git_commits_url":"https://api.github.com/repos/GFariasR/jaybeams/git/commits{/sha}","comments_url":"https://api.github.com/repos/GFariasR/jaybeams/comments{/number}","issue_comment_url":"https://api.github.com/repos/GFariasR/jaybeams/issues/comments{/number}","contents_url":"https://api.github.com/repos/GFariasR/jaybeams/contents/{+path}","compare_url":"https://api.github.com/repos/GFariasR/jaybeams/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GFariasR/jaybeams/merges","archive_url":"https://api.github.com/repos/GFariasR/jaybeams/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GFariasR/jaybeams/downloads","issues_url":"https://api.github.com/repos/GFariasR/jaybeams/issues{/number}","pulls_url":"https://api.github.com/repos/GFariasR/jaybeams/pulls{/number}","milestones_url":"https://api.github.com/repos/GFariasR/jaybeams/milestones{/number}","notifications_url":"https://api.github.com/repos/GFariasR/jaybeams/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GFariasR/jaybeams/labels{/name}","releases_url":"https://api.github.com/repos/GFariasR/jaybeams/releases{/id}","deployments_url":"https://api.github.com/repos/GFariasR/jaybeams/deployments","created_at":"2016-10-15T18:32:27Z","updated_at":"2016-10-22T20:40:21Z","pushed_at":"2016-12-18T19:32:32Z","git_url":"git://github.com/GFariasR/jaybeams.git","ssh_url":"git@github.com:GFariasR/jaybeams.git","clone_url":"https://github.com/GFariasR/jaybeams.git","svn_url":"https://github.com/GFariasR/jaybeams","homepage":"","size":8559,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"coryan:master","ref":"master","sha":"bca7f8ed7c187698f1a2b4a1ac117e2b187b4e71","user":{"login":"coryan","id":6241635,"avatar_url":"https://avatars.githubusercontent.com/u/6241635?v=3","gravatar_id":"","url":"https://api.github.com/users/coryan","html_url":"https://github.com/coryan","followers_url":"https://api.github.com/users/coryan/followers","following_url":"https://api.github.com/users/coryan/following{/other_user}","gists_url":"https://api.github.com/users/coryan/gists{/gist_id}","starred_url":"https://api.github.com/users/coryan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coryan/subscriptions","organizations_url":"https://api.github.com/users/coryan/orgs","repos_url":"https://api.github.com/users/coryan/repos","events_url":"https://api.github.com/users/coryan/events{/privacy}","received_events_url":"https://api.github.com/users/coryan/received_events","type":"User","site_admin":false},"repo":{"id":41223278,"name":"jaybeams","full_name":"coryan/jaybeams","owner":{"login":"coryan","id":6241635,"avatar_url":"https://avatars.githubusercontent.com/u/6241635?v=3","gravatar_id":"","url":"https://api.github.com/users/coryan","html_url":"https://github.com/coryan","followers_url":"https://api.github.com/users/coryan/followers","following_url":"https://api.github.com/users/coryan/following{/other_user}","gists_url":"https://api.github.com/users/coryan/gists{/gist_id}","starred_url":"https://api.github.com/users/coryan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coryan/subscriptions","organizations_url":"https://api.github.com/users/coryan/orgs","repos_url":"https://api.github.com/users/coryan/repos","events_url":"https://api.github.com/users/coryan/events{/privacy}","received_events_url":"https://api.github.com/users/coryan/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/coryan/jaybeams","description":"JayBeams: A Project to have fun Coding, and maybe measure relative delays in market feeds","fork":false,"url":"https://api.github.com/repos/coryan/jaybeams","forks_url":"https://api.github.com/repos/coryan/jaybeams/forks","keys_url":"https://api.github.com/repos/coryan/jaybeams/keys{/key_id}","collaborators_url":"https://api.github.com/repos/coryan/jaybeams/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/coryan/jaybeams/teams","hooks_url":"https://api.github.com/repos/coryan/jaybeams/hooks","issue_events_url":"https://api.github.com/repos/coryan/jaybeams/issues/events{/number}","events_url":"https://api.github.com/repos/coryan/jaybeams/events","assignees_url":"https://api.github.com/repos/coryan/jaybeams/assignees{/user}","branches_url":"https://api.github.com/repos/coryan/jaybeams/branches{/branch}","tags_url":"https://api.github.com/repos/coryan/jaybeams/tags","blobs_url":"https://api.github.com/repos/coryan/jaybeams/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/coryan/jaybeams/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/coryan/jaybeams/git/refs{/sha}","trees_url":"https://api.github.com/repos/coryan/jaybeams/git/trees{/sha}","statuses_url":"https://api.github.com/repos/coryan/jaybeams/statuses/{sha}","languages_url":"https://api.github.com/repos/coryan/jaybeams/languages","stargazers_url":"https://api.github.com/repos/coryan/jaybeams/stargazers","contributors_url":"https://api.github.com/repos/coryan/jaybeams/contributors","subscribers_url":"https://api.github.com/repos/coryan/jaybeams/subscribers","subscription_url":"https://api.github.com/repos/coryan/jaybeams/subscription","commits_url":"https://api.github.com/repos/coryan/jaybeams/commits{/sha}","git_commits_url":"https://api.github.com/repos/coryan/jaybeams/git/commits{/sha}","comments_url":"https://api.github.com/repos/coryan/jaybeams/comments{/number}","issue_comment_url":"https://api.github.com/repos/coryan/jaybeams/issues/comments{/number}","contents_url":"https://api.github.com/repos/coryan/jaybeams/contents/{+path}","compare_url":"https://api.github.com/repos/coryan/jaybeams/compare/{base}...{head}","merges_url":"https://api.github.com/repos/coryan/jaybeams/merges","archive_url":"https://api.github.com/repos/coryan/jaybeams/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/coryan/jaybeams/downloads","issues_url":"https://api.github.com/repos/coryan/jaybeams/issues{/number}","pulls_url":"https://api.github.com/repos/coryan/jaybeams/pulls{/number}","milestones_url":"https://api.github.com/repos/coryan/jaybeams/milestones{/number}","notifications_url":"https://api.github.com/repos/coryan/jaybeams/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/coryan/jaybeams/labels{/name}","releases_url":"https://api.github.com/repos/coryan/jaybeams/releases{/id}","deployments_url":"https://api.github.com/repos/coryan/jaybeams/deployments","created_at":"2015-08-22T20:30:04Z","updated_at":"2016-10-25T02:36:54Z","pushed_at":"2016-12-18T22:45:49Z","git_url":"git://github.com/coryan/jaybeams.git","ssh_url":"git@github.com:coryan/jaybeams.git","clone_url":"https://github.com/coryan/jaybeams.git","svn_url":"https://github.com/coryan/jaybeams","homepage":"","size":7168,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1,"mirror_url":null,"open_issues_count":32,"forks":1,"open_issues":32,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/coryan/jaybeams/pulls/66"},"html":{"href":"https://github.com/coryan/jaybeams/pull/66"},"issue":{"href":"https://api.github.com/repos/coryan/jaybeams/issues/66"},"comments":{"href":"https://api.github.com/repos/coryan/jaybeams/issues/66/comments"},"review_comments":{"href":"https://api.github.com/repos/coryan/jaybeams/pulls/66/comments"},"review_comment":{"href":"https://api.github.com/repos/coryan/jaybeams/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/coryan/jaybeams/pulls/66/commits"},"statuses":{"href":"https://api.github.com/repos/coryan/jaybeams/statuses/4d6781222b50774412d154bb1cb545575c3e5559"}}}}
{"actor":{"display_login":"GFariasR"}}