{"action":"created","issue":{"url":"https://api.github.com/repos/simbody/simbody/issues/488","repository_url":"https://api.github.com/repos/simbody/simbody","labels_url":"https://api.github.com/repos/simbody/simbody/issues/488/labels{/name}","comments_url":"https://api.github.com/repos/simbody/simbody/issues/488/comments","events_url":"https://api.github.com/repos/simbody/simbody/issues/488/events","html_url":"https://github.com/simbody/simbody/pull/488","id":152480898,"number":488,"title":"[WIP] Add infrastructure for state serialization","user":{"login":"sherm1","id":4088016,"avatar_url":"https://avatars.githubusercontent.com/u/4088016?v=3","gravatar_id":"","url":"https://api.github.com/users/sherm1","html_url":"https://github.com/sherm1","followers_url":"https://api.github.com/users/sherm1/followers","following_url":"https://api.github.com/users/sherm1/following{/other_user}","gists_url":"https://api.github.com/users/sherm1/gists{/gist_id}","starred_url":"https://api.github.com/users/sherm1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sherm1/subscriptions","organizations_url":"https://api.github.com/users/sherm1/orgs","repos_url":"https://api.github.com/users/sherm1/repos","events_url":"https://api.github.com/users/sherm1/events{/privacy}","received_events_url":"https://api.github.com/users/sherm1/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":35,"created_at":"2016-05-02T04:49:14Z","updated_at":"2016-05-26T16:53:21Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/simbody/simbody/pulls/488","html_url":"https://github.com/simbody/simbody/pull/488","diff_url":"https://github.com/simbody/simbody/pull/488.diff","patch_url":"https://github.com/simbody/simbody/pull/488.patch"},"body":"This is the first crack at State serialization, which is not yet complete. This contains the necessary infrastructure to provide `toXmlElement()` and `fromXmlElement()` support for general types and (most important) for `AbstractValue` and `Value<T>`. \r\n\r\nSee TestXml.cpp for test cases for`AbstractValue` and `Value<T>`. `State.toXmlElement()` and `State.fromXmlElement()` exist and will work if all the contained AbstractValue types have those methods, or if they have stream extraction/insertion operators from which workable defaults an be created.  \r\n\r\nNo State serialization tests are committed here yet. Those need to get written and debugged. @chrisdembia, if you want to work on this have a look and then we can discuss."},"comment":{"url":"https://api.github.com/repos/simbody/simbody/issues/comments/221929698","html_url":"https://github.com/simbody/simbody/pull/488#issuecomment-221929698","issue_url":"https://api.github.com/repos/simbody/simbody/issues/488","id":221929698,"user":{"login":"sherm1","id":4088016,"avatar_url":"https://avatars.githubusercontent.com/u/4088016?v=3","gravatar_id":"","url":"https://api.github.com/users/sherm1","html_url":"https://github.com/sherm1","followers_url":"https://api.github.com/users/sherm1/followers","following_url":"https://api.github.com/users/sherm1/following{/other_user}","gists_url":"https://api.github.com/users/sherm1/gists{/gist_id}","starred_url":"https://api.github.com/users/sherm1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sherm1/subscriptions","organizations_url":"https://api.github.com/users/sherm1/orgs","repos_url":"https://api.github.com/users/sherm1/repos","events_url":"https://api.github.com/users/sherm1/events{/privacy}","received_events_url":"https://api.github.com/users/sherm1/received_events","type":"User","site_admin":false},"created_at":"2016-05-26T16:53:21Z","updated_at":"2016-05-26T16:53:21Z","body":"Actually if it's inline then it shouldn't be exported anyway. (That probably applies to the whole class -- the export feature is probably ill-conceived.) Also I'm not sure I understand what you are doing in the implementation. Couldn't it be just:\r\n```c++\r\ninline std::istream& operator>>(std::istream& input, NAME& obj) { \\\r\n    input >> obj.ix; \\\r\n    return input; \\\r\n} \r\n\r\n// or even the macho version:\r\ninline std::istream& operator>>(std::istream& in, NAME& obj) {return in>>obj.ix;}\r\n```"}}
{"actor":{"display_login":"sherm1"}}