{"action":"created","issue":{"url":"https://api.github.com/repos/msgpack/msgpack-c/issues/349","labels_url":"https://api.github.com/repos/msgpack/msgpack-c/issues/349/labels{/name}","comments_url":"https://api.github.com/repos/msgpack/msgpack-c/issues/349/comments","events_url":"https://api.github.com/repos/msgpack/msgpack-c/issues/349/events","html_url":"https://github.com/msgpack/msgpack-c/pull/349","id":101621831,"number":349,"title":"Variant","user":{"login":"redboltz","id":275959,"avatar_url":"https://avatars.githubusercontent.com/u/275959?v=3","gravatar_id":"","url":"https://api.github.com/users/redboltz","html_url":"https://github.com/redboltz","followers_url":"https://api.github.com/users/redboltz/followers","following_url":"https://api.github.com/users/redboltz/following{/other_user}","gists_url":"https://api.github.com/users/redboltz/gists{/gist_id}","starred_url":"https://api.github.com/users/redboltz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/redboltz/subscriptions","organizations_url":"https://api.github.com/users/redboltz/orgs","repos_url":"https://api.github.com/users/redboltz/repos","events_url":"https://api.github.com/users/redboltz/events{/privacy}","received_events_url":"https://api.github.com/users/redboltz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"nobu-k","id":61242,"avatar_url":"https://avatars.githubusercontent.com/u/61242?v=3","gravatar_id":"","url":"https://api.github.com/users/nobu-k","html_url":"https://github.com/nobu-k","followers_url":"https://api.github.com/users/nobu-k/followers","following_url":"https://api.github.com/users/nobu-k/following{/other_user}","gists_url":"https://api.github.com/users/nobu-k/gists{/gist_id}","starred_url":"https://api.github.com/users/nobu-k/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nobu-k/subscriptions","organizations_url":"https://api.github.com/users/nobu-k/orgs","repos_url":"https://api.github.com/users/nobu-k/repos","events_url":"https://api.github.com/users/nobu-k/events{/privacy}","received_events_url":"https://api.github.com/users/nobu-k/received_events","type":"User","site_admin":false},"milestone":null,"comments":3,"created_at":"2015-08-18T10:16:32Z","updated_at":"2015-08-28T01:20:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/msgpack/msgpack-c/pulls/349","html_url":"https://github.com/msgpack/msgpack-c/pull/349","diff_url":"https://github.com/msgpack/msgpack-c/pull/349.diff","patch_url":"https://github.com/msgpack/msgpack-c/pull/349.patch"},"body":"This PR provides a msgpack::type::variant type and its adaptor. It uses Boost.Variant. We can  treat any msgpack::object with msgpack::type::variant. (convert/pack/create msgpack::object)\r\n\r\nmsgpack::type::variant_ref is also provided. When we convert to msgpack::type::varinat from msgpack::object, reference types are used.\r\n\r\nSee the following table:\r\n\r\n## In common msgpack::type::variant and msgpack::type::variant:\r\n\r\n|msgpack::type |variant type |\r\n|--- |--- |\r\n|NIL  |msgpack::type::nil|\r\n|BOOLEAN  |bool|\r\n|POSITIVE_INTEGER  |uint64_t|\r\n|NEGATIVE_INTEGER  |int64_t|\r\n|FLOAT  |double|\r\n\r\n## msgpack::type::variant\r\n\r\n|msgpack::type |variant type |\r\n|--- |--- |\r\n|STR  |std::string|\r\n|BIN  |std::vector<char>|\r\n|EXT  |msgpack::type::ext|\r\n|ARRAY  |std::vector<msgpack::type::variant>|\r\n|MAP  |std::multimap<msgpack::type::variant, msgpack::type::variant>|\r\n\r\n## msgpack::type::variant_ref\r\n\r\n|msgpack::type |variant type |\r\n|--- |--- |\r\n|STR  |boost::string_ref|\r\n|BIN  |msgpack::type::raw_ref|\r\n|EXT  |msgpack::type::ext_ref|\r\n|ARRAY  |std::vector<msgpack::type::variant_ref>|\r\n|MAP  |std::multimap<msgpack::type::variant, msgpack::type::variant_ref>|\r\n"},"comment":{"url":"https://api.github.com/repos/msgpack/msgpack-c/issues/comments/135597159","html_url":"https://github.com/msgpack/msgpack-c/pull/349#issuecomment-135597159","issue_url":"https://api.github.com/repos/msgpack/msgpack-c/issues/349","id":135597159,"user":{"login":"jpetso","id":88121,"avatar_url":"https://avatars.githubusercontent.com/u/88121?v=3","gravatar_id":"","url":"https://api.github.com/users/jpetso","html_url":"https://github.com/jpetso","followers_url":"https://api.github.com/users/jpetso/followers","following_url":"https://api.github.com/users/jpetso/following{/other_user}","gists_url":"https://api.github.com/users/jpetso/gists{/gist_id}","starred_url":"https://api.github.com/users/jpetso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpetso/subscriptions","organizations_url":"https://api.github.com/users/jpetso/orgs","repos_url":"https://api.github.com/users/jpetso/repos","events_url":"https://api.github.com/users/jpetso/events{/privacy}","received_events_url":"https://api.github.com/users/jpetso/received_events","type":"User","site_admin":false},"created_at":"2015-08-28T01:20:07Z","updated_at":"2015-08-28T01:20:07Z","body":"Yes, that is what I was asking. Thank you."}}