Skip to content

Commit 88ab7b6

Browse files
committed
Unified variant and variant_ref to basic_variant.
Added is_* and as_* member functions to basic_variant. Added tests.
1 parent df5f84d commit 88ab7b6

File tree

3 files changed

+470
-468
lines changed

3 files changed

+470
-468
lines changed

example/boost/msgpack_variant_mapbased.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ struct proc:boost::static_visitor<void> {
3535
std::multimap<msgpack::type::variant_ref, msgpack::type::variant_ref>::iterator it = v.begin();
3636
std::multimap<msgpack::type::variant_ref, msgpack::type::variant_ref>::iterator end = v.end();
3737
while(it != end) {
38-
boost::string_ref const& key = boost::get<boost::string_ref>(it->first);
38+
boost::string_ref const& key = it->first.as_boost_string_ref();
3939
if (key == "name") {
40-
boost::string_ref const& value = boost::get<boost::string_ref>(it->second);
40+
boost::string_ref const& value = it->second.as_boost_string_ref();
4141
if (value == "Takatoshi Kondo") {
4242
// You can add values to msgpack::type::variant_ref.
4343
v.insert(
@@ -67,7 +67,7 @@ struct proc:boost::static_visitor<void> {
6767
// "Tokyo" -> "Tokyo, JAPAN"
6868
// Use msgpack::type::variant instead of msgpack::type::variant_ref
6969
// or do as follows:
70-
boost::string_ref const& value = boost::get<boost::string_ref>(it->second);
70+
boost::string_ref const& value = it->second.as_boost_string_ref();
7171
it->second = std::string(&value.front(), value.size()) + ", JAPAN";
7272
++it;
7373
}

0 commit comments

Comments
 (0)