{"action":"created","comment":{"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/comments/35298100","id":35298100,"diff_hunk":"@@ -0,0 +1,70 @@\n+/**\n+ * Copyright 2015 Rene Widera\n+ *\n+ * This file is part of libPMacc.\n+ *\n+ * libPMacc is free software: you can redistribute it and/or modify\n+ * it under the terms of either the GNU General Public License or\n+ * the GNU Lesser General Public License as published by\n+ * the Free Software Foundation, either version 3 of the License, or\n+ * (at your option) any later version.\n+ *\n+ * libPMacc is distributed in the hope that it will be useful,\n+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\n+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n+ * GNU General Public License and the GNU Lesser General Public License\n+ * for more details.\n+ *\n+ * You should have received a copy of the GNU General Public License\n+ * and the GNU Lesser General Public License along with libPMacc.\n+ * If not, see <http://www.gnu.org/licenses/>.\n+ */\n+\n+#pragma once\n+\n+#include \"compileTime/accessors/Identity.hpp\"\n+#include \"types.h\"\n+\n+#include <boost/mpl/vector.hpp>\n+#include <boost/mpl/copy.hpp>\n+#include <boost/mpl/size.hpp>\n+#include <boost/mpl/transform.hpp>\n+#include <boost/mpl/placeholders.hpp>\n+#include <boost/mpl/back_inserter.hpp>\n+#include <boost/type_traits.hpp>\n+\n+namespace PMacc\n+{\n+\n+/** run a unary operator on every sequence element\n+ *\n+ * @tparam T_MPLSeq any boost mpl sequence\n+ * @tparam T_UnaryOperator unary operator to translate type from the sequence\n+ * to a mpl pair\n+ * @tparam T_Accessor An unary lambda operator which is used before the type","path":"src/libPMacc/include/compileTime/conversion/OperateOnSeq.hpp","position":44,"original_position":44,"commit_id":"2a188654848dd15313416fd55b96d516fb3515d2","original_commit_id":"2a188654848dd15313416fd55b96d516fb3515d2","user":{"login":"ax3l","id":1353258,"avatar_url":"https://avatars.githubusercontent.com/u/1353258?v=3","gravatar_id":"","url":"https://api.github.com/users/ax3l","html_url":"https://github.com/ax3l","followers_url":"https://api.github.com/users/ax3l/followers","following_url":"https://api.github.com/users/ax3l/following{/other_user}","gists_url":"https://api.github.com/users/ax3l/gists{/gist_id}","starred_url":"https://api.github.com/users/ax3l/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ax3l/subscriptions","organizations_url":"https://api.github.com/users/ax3l/orgs","repos_url":"https://api.github.com/users/ax3l/repos","events_url":"https://api.github.com/users/ax3l/events{/privacy}","received_events_url":"https://api.github.com/users/ax3l/received_events","type":"User","site_admin":false},"body":"that is used","created_at":"2015-07-23T08:08:24Z","updated_at":"2015-07-23T08:08:24Z","html_url":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/949#discussion_r35298100","pull_request_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/949","_links":{"self":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/comments/35298100"},"html":{"href":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/949#discussion_r35298100"},"pull_request":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/949"}}},"pull_request":{"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/949","id":40575207,"html_url":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/949","diff_url":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/949.diff","patch_url":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/949.patch","issue_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/949","number":949,"state":"open","locked":false,"title":"Topic make ptr in frame optional","user":{"login":"psychocoderHPC","id":4037125,"avatar_url":"https://avatars.githubusercontent.com/u/4037125?v=3","gravatar_id":"","url":"https://api.github.com/users/psychocoderHPC","html_url":"https://github.com/psychocoderHPC","followers_url":"https://api.github.com/users/psychocoderHPC/followers","following_url":"https://api.github.com/users/psychocoderHPC/following{/other_user}","gists_url":"https://api.github.com/users/psychocoderHPC/gists{/gist_id}","starred_url":"https://api.github.com/users/psychocoderHPC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/psychocoderHPC/subscriptions","organizations_url":"https://api.github.com/users/psychocoderHPC/orgs","repos_url":"https://api.github.com/users/psychocoderHPC/repos","events_url":"https://api.github.com/users/psychocoderHPC/events{/privacy}","received_events_url":"https://api.github.com/users/psychocoderHPC/received_events","type":"User","site_admin":false},"body":"- `OperateOnSeq`: add compile time method that runs an operator on every element of a sequence \r\n- remove fixed `nextFrame` and `previousFrame` pointer in a frame\r\n- refactor `ParticleDescription` -> add FrameExtensionList\r\n- extent `Frame<>`: now inherits from all extensions\r\nto allow optional double linked list support on frames\r\n - add new type `PreviousFramePtr<>` with member previousFrame\r\n - add new type `NextFramePtr<>` with member nextFrame\r\n\r\nThis pull request removes the problem that every frame includes two pointers (to create a double linked list) on itself. The pointers result in 16 Bytes extra memory per frame. Since `BorderFrame`s consists of only one particle, the typical particle size growths by 50%.\r\nThe refactoring allows to send more particles to neighboring GPUs within the same amount of communication memory as before.","created_at":"2015-07-22T15:06:55Z","updated_at":"2015-07-23T08:08:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"de59b5ade8727cbb61d80e0f21e4820eb76d1846","assignee":{"login":"ax3l","id":1353258,"avatar_url":"https://avatars.githubusercontent.com/u/1353258?v=3","gravatar_id":"","url":"https://api.github.com/users/ax3l","html_url":"https://github.com/ax3l","followers_url":"https://api.github.com/users/ax3l/followers","following_url":"https://api.github.com/users/ax3l/following{/other_user}","gists_url":"https://api.github.com/users/ax3l/gists{/gist_id}","starred_url":"https://api.github.com/users/ax3l/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ax3l/subscriptions","organizations_url":"https://api.github.com/users/ax3l/orgs","repos_url":"https://api.github.com/users/ax3l/repos","events_url":"https://api.github.com/users/ax3l/events{/privacy}","received_events_url":"https://api.github.com/users/ax3l/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/milestones/2","html_url":"https://github.com/ComputationalRadiationPhysics/picongpu/milestones/Open%20Beta","labels_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/milestones/2/labels","id":395839,"number":2,"title":"Open Beta","description":"Tasks to complete until the release of our open beta (version 0.1)\r\n\r\nThe [beta](https://en.wikipedia.org/wiki/Software_release_life_cycle#Beta) release shall be useful for *physicist* that used a Particle-in-Cell code *before*. Experience with *compiling libraries from source* and a *good Linux knowledge* is required for the initial installation.\r\n","creator":{"login":"ax3l","id":1353258,"avatar_url":"https://avatars.githubusercontent.com/u/1353258?v=3","gravatar_id":"","url":"https://api.github.com/users/ax3l","html_url":"https://github.com/ax3l","followers_url":"https://api.github.com/users/ax3l/followers","following_url":"https://api.github.com/users/ax3l/following{/other_user}","gists_url":"https://api.github.com/users/ax3l/gists{/gist_id}","starred_url":"https://api.github.com/users/ax3l/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ax3l/subscriptions","organizations_url":"https://api.github.com/users/ax3l/orgs","repos_url":"https://api.github.com/users/ax3l/repos","events_url":"https://api.github.com/users/ax3l/events{/privacy}","received_events_url":"https://api.github.com/users/ax3l/received_events","type":"User","site_admin":false},"open_issues":97,"closed_issues":767,"state":"open","created_at":"2013-08-06T16:38:57Z","updated_at":"2015-07-23T08:02:28Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/949/commits","review_comments_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/949/comments","review_comment_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/949/comments","statuses_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/statuses/2a188654848dd15313416fd55b96d516fb3515d2","head":{"label":"psychocoderHPC:topic-makePtrInFrameOptional","ref":"topic-makePtrInFrameOptional","sha":"2a188654848dd15313416fd55b96d516fb3515d2","user":{"login":"psychocoderHPC","id":4037125,"avatar_url":"https://avatars.githubusercontent.com/u/4037125?v=3","gravatar_id":"","url":"https://api.github.com/users/psychocoderHPC","html_url":"https://github.com/psychocoderHPC","followers_url":"https://api.github.com/users/psychocoderHPC/followers","following_url":"https://api.github.com/users/psychocoderHPC/following{/other_user}","gists_url":"https://api.github.com/users/psychocoderHPC/gists{/gist_id}","starred_url":"https://api.github.com/users/psychocoderHPC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/psychocoderHPC/subscriptions","organizations_url":"https://api.github.com/users/psychocoderHPC/orgs","repos_url":"https://api.github.com/users/psychocoderHPC/repos","events_url":"https://api.github.com/users/psychocoderHPC/events{/privacy}","received_events_url":"https://api.github.com/users/psychocoderHPC/received_events","type":"User","site_admin":false},"repo":{"id":12103789,"name":"picongpu","full_name":"psychocoderHPC/picongpu","owner":{"login":"psychocoderHPC","id":4037125,"avatar_url":"https://avatars.githubusercontent.com/u/4037125?v=3","gravatar_id":"","url":"https://api.github.com/users/psychocoderHPC","html_url":"https://github.com/psychocoderHPC","followers_url":"https://api.github.com/users/psychocoderHPC/followers","following_url":"https://api.github.com/users/psychocoderHPC/following{/other_user}","gists_url":"https://api.github.com/users/psychocoderHPC/gists{/gist_id}","starred_url":"https://api.github.com/users/psychocoderHPC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/psychocoderHPC/subscriptions","organizations_url":"https://api.github.com/users/psychocoderHPC/orgs","repos_url":"https://api.github.com/users/psychocoderHPC/repos","events_url":"https://api.github.com/users/psychocoderHPC/events{/privacy}","received_events_url":"https://api.github.com/users/psychocoderHPC/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/psychocoderHPC/picongpu","description":"PIConGPU - A particle-in-cell code for GPGPUs","fork":true,"url":"https://api.github.com/repos/psychocoderHPC/picongpu","forks_url":"https://api.github.com/repos/psychocoderHPC/picongpu/forks","keys_url":"https://api.github.com/repos/psychocoderHPC/picongpu/keys{/key_id}","collaborators_url":"https://api.github.com/repos/psychocoderHPC/picongpu/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/psychocoderHPC/picongpu/teams","hooks_url":"https://api.github.com/repos/psychocoderHPC/picongpu/hooks","issue_events_url":"https://api.github.com/repos/psychocoderHPC/picongpu/issues/events{/number}","events_url":"https://api.github.com/repos/psychocoderHPC/picongpu/events","assignees_url":"https://api.github.com/repos/psychocoderHPC/picongpu/assignees{/user}","branches_url":"https://api.github.com/repos/psychocoderHPC/picongpu/branches{/branch}","tags_url":"https://api.github.com/repos/psychocoderHPC/picongpu/tags","blobs_url":"https://api.github.com/repos/psychocoderHPC/picongpu/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/psychocoderHPC/picongpu/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/psychocoderHPC/picongpu/git/refs{/sha}","trees_url":"https://api.github.com/repos/psychocoderHPC/picongpu/git/trees{/sha}","statuses_url":"https://api.github.com/repos/psychocoderHPC/picongpu/statuses/{sha}","languages_url":"https://api.github.com/repos/psychocoderHPC/picongpu/languages","stargazers_url":"https://api.github.com/repos/psychocoderHPC/picongpu/stargazers","contributors_url":"https://api.github.com/repos/psychocoderHPC/picongpu/contributors","subscribers_url":"https://api.github.com/repos/psychocoderHPC/picongpu/subscribers","subscription_url":"https://api.github.com/repos/psychocoderHPC/picongpu/subscription","commits_url":"https://api.github.com/repos/psychocoderHPC/picongpu/commits{/sha}","git_commits_url":"https://api.github.com/repos/psychocoderHPC/picongpu/git/commits{/sha}","comments_url":"https://api.github.com/repos/psychocoderHPC/picongpu/comments{/number}","issue_comment_url":"https://api.github.com/repos/psychocoderHPC/picongpu/issues/comments{/number}","contents_url":"https://api.github.com/repos/psychocoderHPC/picongpu/contents/{+path}","compare_url":"https://api.github.com/repos/psychocoderHPC/picongpu/compare/{base}...{head}","merges_url":"https://api.github.com/repos/psychocoderHPC/picongpu/merges","archive_url":"https://api.github.com/repos/psychocoderHPC/picongpu/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/psychocoderHPC/picongpu/downloads","issues_url":"https://api.github.com/repos/psychocoderHPC/picongpu/issues{/number}","pulls_url":"https://api.github.com/repos/psychocoderHPC/picongpu/pulls{/number}","milestones_url":"https://api.github.com/repos/psychocoderHPC/picongpu/milestones{/number}","notifications_url":"https://api.github.com/repos/psychocoderHPC/picongpu/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/psychocoderHPC/picongpu/labels{/name}","releases_url":"https://api.github.com/repos/psychocoderHPC/picongpu/releases{/id}","created_at":"2013-08-14T08:23:46Z","updated_at":"2015-03-09T09:19:12Z","pushed_at":"2015-07-23T08:03:04Z","git_url":"git://github.com/psychocoderHPC/picongpu.git","ssh_url":"git@github.com:psychocoderHPC/picongpu.git","clone_url":"https://github.com/psychocoderHPC/picongpu.git","svn_url":"https://github.com/psychocoderHPC/picongpu","homepage":"http://picongpu.hzdr.de","size":11424,"stargazers_count":1,"watchers_count":1,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":1,"default_branch":"dev"}},"base":{"label":"ComputationalRadiationPhysics:dev","ref":"dev","sha":"e67e2d774328b72b60370dbb2136729ebd0d634f","user":{"login":"ComputationalRadiationPhysics","id":5120388,"avatar_url":"https://avatars.githubusercontent.com/u/5120388?v=3","gravatar_id":"","url":"https://api.github.com/users/ComputationalRadiationPhysics","html_url":"https://github.com/ComputationalRadiationPhysics","followers_url":"https://api.github.com/users/ComputationalRadiationPhysics/followers","following_url":"https://api.github.com/users/ComputationalRadiationPhysics/following{/other_user}","gists_url":"https://api.github.com/users/ComputationalRadiationPhysics/gists{/gist_id}","starred_url":"https://api.github.com/users/ComputationalRadiationPhysics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ComputationalRadiationPhysics/subscriptions","organizations_url":"https://api.github.com/users/ComputationalRadiationPhysics/orgs","repos_url":"https://api.github.com/users/ComputationalRadiationPhysics/repos","events_url":"https://api.github.com/users/ComputationalRadiationPhysics/events{/privacy}","received_events_url":"https://api.github.com/users/ComputationalRadiationPhysics/received_events","type":"Organization","site_admin":false},"repo":{"id":11764461,"name":"picongpu","full_name":"ComputationalRadiationPhysics/picongpu","owner":{"login":"ComputationalRadiationPhysics","id":5120388,"avatar_url":"https://avatars.githubusercontent.com/u/5120388?v=3","gravatar_id":"","url":"https://api.github.com/users/ComputationalRadiationPhysics","html_url":"https://github.com/ComputationalRadiationPhysics","followers_url":"https://api.github.com/users/ComputationalRadiationPhysics/followers","following_url":"https://api.github.com/users/ComputationalRadiationPhysics/following{/other_user}","gists_url":"https://api.github.com/users/ComputationalRadiationPhysics/gists{/gist_id}","starred_url":"https://api.github.com/users/ComputationalRadiationPhysics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ComputationalRadiationPhysics/subscriptions","organizations_url":"https://api.github.com/users/ComputationalRadiationPhysics/orgs","repos_url":"https://api.github.com/users/ComputationalRadiationPhysics/repos","events_url":"https://api.github.com/users/ComputationalRadiationPhysics/events{/privacy}","received_events_url":"https://api.github.com/users/ComputationalRadiationPhysics/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ComputationalRadiationPhysics/picongpu","description":"PIConGPU - A particle-in-cell code for GPGPUs","fork":false,"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu","forks_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/forks","keys_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/teams","hooks_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/hooks","issue_events_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/events{/number}","events_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/events","assignees_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/assignees{/user}","branches_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/branches{/branch}","tags_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/tags","blobs_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/git/refs{/sha}","trees_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/statuses/{sha}","languages_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/languages","stargazers_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/stargazers","contributors_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/contributors","subscribers_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/subscribers","subscription_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/subscription","commits_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/commits{/sha}","git_commits_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/git/commits{/sha}","comments_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/comments{/number}","issue_comment_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/comments{/number}","contents_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/contents/{+path}","compare_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/merges","archive_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/downloads","issues_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues{/number}","pulls_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls{/number}","milestones_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/milestones{/number}","notifications_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/labels{/name}","releases_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/releases{/id}","created_at":"2013-07-30T12:28:20Z","updated_at":"2015-07-21T17:48:35Z","pushed_at":"2015-07-23T08:02:29Z","git_url":"git://github.com/ComputationalRadiationPhysics/picongpu.git","ssh_url":"git@github.com:ComputationalRadiationPhysics/picongpu.git","clone_url":"https://github.com/ComputationalRadiationPhysics/picongpu.git","svn_url":"https://github.com/ComputationalRadiationPhysics/picongpu","homepage":"http://picongpu.hzdr.de","size":15737,"stargazers_count":119,"watchers_count":119,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":65,"mirror_url":null,"open_issues_count":150,"forks":65,"open_issues":150,"watchers":119,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/949"},"html":{"href":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/949"},"issue":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/949"},"comments":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/949/comments"},"review_comments":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/949/comments"},"review_comment":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/949/commits"},"statuses":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/statuses/2a188654848dd15313416fd55b96d516fb3515d2"}}}}