{"action":"created","comment":{"url":"https://api.github.com/repos/OpenMS/OpenMS/pulls/comments/50640355","id":50640355,"diff_hunk":"@@ -113,27 +113,17 @@ namespace OpenMS\n \n   bool MetaInfo::exists(const String & name) const\n   {\n-    try\n+    UInt index = registry_.getIndex(name);\n+    if (index != UInt(-1))","path":"src/openms/source/METADATA/MetaInfo.cpp","position":37,"original_position":37,"commit_id":"041f0a3660be3546371e06024334237d0bfa76d1","original_commit_id":"041f0a3660be3546371e06024334237d0bfa76d1","user":{"login":"hendrikweisser","id":2251068,"avatar_url":"https://avatars.githubusercontent.com/u/2251068?v=3","gravatar_id":"","url":"https://api.github.com/users/hendrikweisser","html_url":"https://github.com/hendrikweisser","followers_url":"https://api.github.com/users/hendrikweisser/followers","following_url":"https://api.github.com/users/hendrikweisser/following{/other_user}","gists_url":"https://api.github.com/users/hendrikweisser/gists{/gist_id}","starred_url":"https://api.github.com/users/hendrikweisser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hendrikweisser/subscriptions","organizations_url":"https://api.github.com/users/hendrikweisser/orgs","repos_url":"https://api.github.com/users/hendrikweisser/repos","events_url":"https://api.github.com/users/hendrikweisser/events{/privacy}","received_events_url":"https://api.github.com/users/hendrikweisser/received_events","type":"User","site_admin":false},"body":"How do you mean that?","created_at":"2016-01-24T19:14:21Z","updated_at":"2016-01-24T19:14:21Z","html_url":"https://github.com/OpenMS/OpenMS/pull/1778#discussion_r50640355","pull_request_url":"https://api.github.com/repos/OpenMS/OpenMS/pulls/1778","_links":{"self":{"href":"https://api.github.com/repos/OpenMS/OpenMS/pulls/comments/50640355"},"html":{"href":"https://github.com/OpenMS/OpenMS/pull/1778#discussion_r50640355"},"pull_request":{"href":"https://api.github.com/repos/OpenMS/OpenMS/pulls/1778"}}},"pull_request":{"url":"https://api.github.com/repos/OpenMS/OpenMS/pulls/1778","id":56761284,"html_url":"https://github.com/OpenMS/OpenMS/pull/1778","diff_url":"https://github.com/OpenMS/OpenMS/pull/1778.diff","patch_url":"https://github.com/OpenMS/OpenMS/pull/1778.patch","issue_url":"https://api.github.com/repos/OpenMS/OpenMS/issues/1778","number":1778,"state":"open","locked":false,"title":"IDFilter clean-up and extension","user":{"login":"hendrikweisser","id":2251068,"avatar_url":"https://avatars.githubusercontent.com/u/2251068?v=3","gravatar_id":"","url":"https://api.github.com/users/hendrikweisser","html_url":"https://github.com/hendrikweisser","followers_url":"https://api.github.com/users/hendrikweisser/followers","following_url":"https://api.github.com/users/hendrikweisser/following{/other_user}","gists_url":"https://api.github.com/users/hendrikweisser/gists{/gist_id}","starred_url":"https://api.github.com/users/hendrikweisser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hendrikweisser/subscriptions","organizations_url":"https://api.github.com/users/hendrikweisser/orgs","repos_url":"https://api.github.com/users/hendrikweisser/repos","events_url":"https://api.github.com/users/hendrikweisser/events{/privacy}","received_events_url":"https://api.github.com/users/hendrikweisser/received_events","type":"User","site_admin":false},"body":"Refactoring (at this point largely a rewrite) of the IDFilter library class, and - to a lesser extent - the IDFilter TOPP tool.\r\n\r\nSolves #1706.\r\n\r\nThe library class now uses a more \"functional\" design based on two aspects: Predicates, that query some aspect of a peptide/protein hit or ID; implemented as structs that define a `bool operator()(...) const`. And two higher-order functions that filter a container based on a predicate, \"keepMatchingItems\" and \"removeMatchingItems\".\r\nThe filter functions have been given more meaningful names and have been changed to operate on vectors of peptide or protein IDs (which makes them easier to apply and avoids computational overhead). Filters now modify their inputs in-place to avoid unnecessary copying.\r\nAlso added some new filter functions for new functionality in the TOPP tool (see below).\r\n\r\nImplementation of the IDFilter TOPP tool has been greatly simplified. There are some changes to the parameters:\r\n- \"length\" and \"charge\" now accept ranges\r\n- added \"whitelist\" versions for existing \"blacklist\" options, and vice versa\r\n- added \"whitelist\"/\"blacklist\" filtering by modification\r\n- made the RTPredict filtering options advanced (since nobody uses them)\r\n\r\nThis also contains changes that solve some const'ness problems in MetaInfoRegistry (see https://github.com/OpenMS/OpenMS/issues/1759#issuecomment-166856061 and https://github.com/OpenMS/OpenMS/commit/edb1546d77de22a76e49002f980497df0cb36ae1).\r\n\r\nUpdated documentation, tests, and even pyOpenMS!\r\n\r\nA remaining problem is that the Doxygen documentation for some of the structs in the IDFilter class doesn't seem to show up.\r\n","created_at":"2016-01-21T15:06:57Z","updated_at":"2016-01-24T19:14:21Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5fab27a80f465fefe4a88c6cc55e4ca0a9020fbd","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/OpenMS/OpenMS/pulls/1778/commits","review_comments_url":"https://api.github.com/repos/OpenMS/OpenMS/pulls/1778/comments","review_comment_url":"https://api.github.com/repos/OpenMS/OpenMS/pulls/comments{/number}","comments_url":"https://api.github.com/repos/OpenMS/OpenMS/issues/1778/comments","statuses_url":"https://api.github.com/repos/OpenMS/OpenMS/statuses/041f0a3660be3546371e06024334237d0bfa76d1","head":{"label":"hendrikweisser:idfilter-extension","ref":"idfilter-extension","sha":"041f0a3660be3546371e06024334237d0bfa76d1","user":{"login":"hendrikweisser","id":2251068,"avatar_url":"https://avatars.githubusercontent.com/u/2251068?v=3","gravatar_id":"","url":"https://api.github.com/users/hendrikweisser","html_url":"https://github.com/hendrikweisser","followers_url":"https://api.github.com/users/hendrikweisser/followers","following_url":"https://api.github.com/users/hendrikweisser/following{/other_user}","gists_url":"https://api.github.com/users/hendrikweisser/gists{/gist_id}","starred_url":"https://api.github.com/users/hendrikweisser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hendrikweisser/subscriptions","organizations_url":"https://api.github.com/users/hendrikweisser/orgs","repos_url":"https://api.github.com/users/hendrikweisser/repos","events_url":"https://api.github.com/users/hendrikweisser/events{/privacy}","received_events_url":"https://api.github.com/users/hendrikweisser/received_events","type":"User","site_admin":false},"repo":{"id":16610685,"name":"OpenMS","full_name":"hendrikweisser/OpenMS","owner":{"login":"hendrikweisser","id":2251068,"avatar_url":"https://avatars.githubusercontent.com/u/2251068?v=3","gravatar_id":"","url":"https://api.github.com/users/hendrikweisser","html_url":"https://github.com/hendrikweisser","followers_url":"https://api.github.com/users/hendrikweisser/followers","following_url":"https://api.github.com/users/hendrikweisser/following{/other_user}","gists_url":"https://api.github.com/users/hendrikweisser/gists{/gist_id}","starred_url":"https://api.github.com/users/hendrikweisser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hendrikweisser/subscriptions","organizations_url":"https://api.github.com/users/hendrikweisser/orgs","repos_url":"https://api.github.com/users/hendrikweisser/repos","events_url":"https://api.github.com/users/hendrikweisser/events{/privacy}","received_events_url":"https://api.github.com/users/hendrikweisser/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/hendrikweisser/OpenMS","description":"The codebase of the OpenMS project","fork":true,"url":"https://api.github.com/repos/hendrikweisser/OpenMS","forks_url":"https://api.github.com/repos/hendrikweisser/OpenMS/forks","keys_url":"https://api.github.com/repos/hendrikweisser/OpenMS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hendrikweisser/OpenMS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hendrikweisser/OpenMS/teams","hooks_url":"https://api.github.com/repos/hendrikweisser/OpenMS/hooks","issue_events_url":"https://api.github.com/repos/hendrikweisser/OpenMS/issues/events{/number}","events_url":"https://api.github.com/repos/hendrikweisser/OpenMS/events","assignees_url":"https://api.github.com/repos/hendrikweisser/OpenMS/assignees{/user}","branches_url":"https://api.github.com/repos/hendrikweisser/OpenMS/branches{/branch}","tags_url":"https://api.github.com/repos/hendrikweisser/OpenMS/tags","blobs_url":"https://api.github.com/repos/hendrikweisser/OpenMS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hendrikweisser/OpenMS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hendrikweisser/OpenMS/git/refs{/sha}","trees_url":"https://api.github.com/repos/hendrikweisser/OpenMS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hendrikweisser/OpenMS/statuses/{sha}","languages_url":"https://api.github.com/repos/hendrikweisser/OpenMS/languages","stargazers_url":"https://api.github.com/repos/hendrikweisser/OpenMS/stargazers","contributors_url":"https://api.github.com/repos/hendrikweisser/OpenMS/contributors","subscribers_url":"https://api.github.com/repos/hendrikweisser/OpenMS/subscribers","subscription_url":"https://api.github.com/repos/hendrikweisser/OpenMS/subscription","commits_url":"https://api.github.com/repos/hendrikweisser/OpenMS/commits{/sha}","git_commits_url":"https://api.github.com/repos/hendrikweisser/OpenMS/git/commits{/sha}","comments_url":"https://api.github.com/repos/hendrikweisser/OpenMS/comments{/number}","issue_comment_url":"https://api.github.com/repos/hendrikweisser/OpenMS/issues/comments{/number}","contents_url":"https://api.github.com/repos/hendrikweisser/OpenMS/contents/{+path}","compare_url":"https://api.github.com/repos/hendrikweisser/OpenMS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hendrikweisser/OpenMS/merges","archive_url":"https://api.github.com/repos/hendrikweisser/OpenMS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hendrikweisser/OpenMS/downloads","issues_url":"https://api.github.com/repos/hendrikweisser/OpenMS/issues{/number}","pulls_url":"https://api.github.com/repos/hendrikweisser/OpenMS/pulls{/number}","milestones_url":"https://api.github.com/repos/hendrikweisser/OpenMS/milestones{/number}","notifications_url":"https://api.github.com/repos/hendrikweisser/OpenMS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hendrikweisser/OpenMS/labels{/name}","releases_url":"https://api.github.com/repos/hendrikweisser/OpenMS/releases{/id}","deployments_url":"https://api.github.com/repos/hendrikweisser/OpenMS/deployments","created_at":"2014-02-07T09:56:51Z","updated_at":"2015-04-14T10:27:40Z","pushed_at":"2016-01-21T11:19:49Z","git_url":"git://github.com/hendrikweisser/OpenMS.git","ssh_url":"git@github.com:hendrikweisser/OpenMS.git","clone_url":"https://github.com/hendrikweisser/OpenMS.git","svn_url":"https://github.com/hendrikweisser/OpenMS","homepage":null,"size":222730,"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":"develop"}},"base":{"label":"OpenMS:develop","ref":"develop","sha":"6f51b3f3c1eaecdb4469bdd8bd2e12949f68243a","user":{"login":"OpenMS","id":5994841,"avatar_url":"https://avatars.githubusercontent.com/u/5994841?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenMS","html_url":"https://github.com/OpenMS","followers_url":"https://api.github.com/users/OpenMS/followers","following_url":"https://api.github.com/users/OpenMS/following{/other_user}","gists_url":"https://api.github.com/users/OpenMS/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenMS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenMS/subscriptions","organizations_url":"https://api.github.com/users/OpenMS/orgs","repos_url":"https://api.github.com/users/OpenMS/repos","events_url":"https://api.github.com/users/OpenMS/events{/privacy}","received_events_url":"https://api.github.com/users/OpenMS/received_events","type":"Organization","site_admin":false},"repo":{"id":15763403,"name":"OpenMS","full_name":"OpenMS/OpenMS","owner":{"login":"OpenMS","id":5994841,"avatar_url":"https://avatars.githubusercontent.com/u/5994841?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenMS","html_url":"https://github.com/OpenMS","followers_url":"https://api.github.com/users/OpenMS/followers","following_url":"https://api.github.com/users/OpenMS/following{/other_user}","gists_url":"https://api.github.com/users/OpenMS/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenMS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenMS/subscriptions","organizations_url":"https://api.github.com/users/OpenMS/orgs","repos_url":"https://api.github.com/users/OpenMS/repos","events_url":"https://api.github.com/users/OpenMS/events{/privacy}","received_events_url":"https://api.github.com/users/OpenMS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OpenMS/OpenMS","description":"The codebase of the OpenMS project","fork":false,"url":"https://api.github.com/repos/OpenMS/OpenMS","forks_url":"https://api.github.com/repos/OpenMS/OpenMS/forks","keys_url":"https://api.github.com/repos/OpenMS/OpenMS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OpenMS/OpenMS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OpenMS/OpenMS/teams","hooks_url":"https://api.github.com/repos/OpenMS/OpenMS/hooks","issue_events_url":"https://api.github.com/repos/OpenMS/OpenMS/issues/events{/number}","events_url":"https://api.github.com/repos/OpenMS/OpenMS/events","assignees_url":"https://api.github.com/repos/OpenMS/OpenMS/assignees{/user}","branches_url":"https://api.github.com/repos/OpenMS/OpenMS/branches{/branch}","tags_url":"https://api.github.com/repos/OpenMS/OpenMS/tags","blobs_url":"https://api.github.com/repos/OpenMS/OpenMS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OpenMS/OpenMS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OpenMS/OpenMS/git/refs{/sha}","trees_url":"https://api.github.com/repos/OpenMS/OpenMS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OpenMS/OpenMS/statuses/{sha}","languages_url":"https://api.github.com/repos/OpenMS/OpenMS/languages","stargazers_url":"https://api.github.com/repos/OpenMS/OpenMS/stargazers","contributors_url":"https://api.github.com/repos/OpenMS/OpenMS/contributors","subscribers_url":"https://api.github.com/repos/OpenMS/OpenMS/subscribers","subscription_url":"https://api.github.com/repos/OpenMS/OpenMS/subscription","commits_url":"https://api.github.com/repos/OpenMS/OpenMS/commits{/sha}","git_commits_url":"https://api.github.com/repos/OpenMS/OpenMS/git/commits{/sha}","comments_url":"https://api.github.com/repos/OpenMS/OpenMS/comments{/number}","issue_comment_url":"https://api.github.com/repos/OpenMS/OpenMS/issues/comments{/number}","contents_url":"https://api.github.com/repos/OpenMS/OpenMS/contents/{+path}","compare_url":"https://api.github.com/repos/OpenMS/OpenMS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OpenMS/OpenMS/merges","archive_url":"https://api.github.com/repos/OpenMS/OpenMS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OpenMS/OpenMS/downloads","issues_url":"https://api.github.com/repos/OpenMS/OpenMS/issues{/number}","pulls_url":"https://api.github.com/repos/OpenMS/OpenMS/pulls{/number}","milestones_url":"https://api.github.com/repos/OpenMS/OpenMS/milestones{/number}","notifications_url":"https://api.github.com/repos/OpenMS/OpenMS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OpenMS/OpenMS/labels{/name}","releases_url":"https://api.github.com/repos/OpenMS/OpenMS/releases{/id}","deployments_url":"https://api.github.com/repos/OpenMS/OpenMS/deployments","created_at":"2014-01-09T10:15:13Z","updated_at":"2016-01-13T13:55:47Z","pushed_at":"2016-01-24T14:14:35Z","git_url":"git://github.com/OpenMS/OpenMS.git","ssh_url":"git@github.com:OpenMS/OpenMS.git","clone_url":"https://github.com/OpenMS/OpenMS.git","svn_url":"https://github.com/OpenMS/OpenMS","homepage":null,"size":233154,"stargazers_count":38,"watchers_count":38,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":46,"mirror_url":null,"open_issues_count":365,"forks":46,"open_issues":365,"watchers":38,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/OpenMS/OpenMS/pulls/1778"},"html":{"href":"https://github.com/OpenMS/OpenMS/pull/1778"},"issue":{"href":"https://api.github.com/repos/OpenMS/OpenMS/issues/1778"},"comments":{"href":"https://api.github.com/repos/OpenMS/OpenMS/issues/1778/comments"},"review_comments":{"href":"https://api.github.com/repos/OpenMS/OpenMS/pulls/1778/comments"},"review_comment":{"href":"https://api.github.com/repos/OpenMS/OpenMS/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/OpenMS/OpenMS/pulls/1778/commits"},"statuses":{"href":"https://api.github.com/repos/OpenMS/OpenMS/statuses/041f0a3660be3546371e06024334237d0bfa76d1"}}}}