re-use lamdas
definitions and aviod duplicate symbols when building with vs2017
This commit is contained in:
parent
53249053e4
commit
4c9322bc0d
3 changed files with 16 additions and 26 deletions
|
@ -164,15 +164,6 @@ struct geometry_type_ : x3::symbols<mapnik::geometry::geometry_types>
|
||||||
}
|
}
|
||||||
} geometry_type_symbols;
|
} geometry_type_symbols;
|
||||||
|
|
||||||
auto assign_name = [](auto const& ctx)
|
|
||||||
{
|
|
||||||
std::get<0>(_val(ctx)) = std::move(_attr(ctx));
|
|
||||||
};
|
|
||||||
auto assign_value = [](auto const& ctx)
|
|
||||||
{
|
|
||||||
std::get<1>(_val(ctx)) = std::move(_attr(ctx));
|
|
||||||
};
|
|
||||||
|
|
||||||
auto const assign_geometry_type = [] (auto const& ctx)
|
auto const assign_geometry_type = [] (auto const& ctx)
|
||||||
{
|
{
|
||||||
std::get<0>(_val(ctx)) = _attr(ctx);
|
std::get<0>(_val(ctx)) = _attr(ctx);
|
||||||
|
@ -263,7 +254,7 @@ auto const geometry_tuple_def = (geometry_type[assign_geometry_type]
|
||||||
(omit[geojson_string] > lit(':') > omit[value])) % lit(',');
|
(omit[geojson_string] > lit(':') > omit[value])) % lit(',');
|
||||||
|
|
||||||
|
|
||||||
auto const property_def = geojson_string[assign_name] > lit(':') > value[assign_value];
|
auto const property_def = geojson_string[assign_key] > lit(':') > value[assign_value];
|
||||||
|
|
||||||
auto const properties_def = property[assign_property] % lit(',');
|
auto const properties_def = property[assign_property] % lit(',');
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,21 @@ BOOST_SPIRIT_DECLARE(generic_json_grammar_type);
|
||||||
BOOST_SPIRIT_DECLARE(generic_json_key_value_type);
|
BOOST_SPIRIT_DECLARE(generic_json_key_value_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto assign = [](auto const& ctx)
|
||||||
|
{
|
||||||
|
_val(ctx) = _attr(ctx);
|
||||||
|
};
|
||||||
|
|
||||||
|
auto assign_key = [](auto const& ctx)
|
||||||
|
{
|
||||||
|
std::get<0>(_val(ctx)) = _attr(ctx);
|
||||||
|
};
|
||||||
|
|
||||||
|
auto assign_value = [](auto const& ctx)
|
||||||
|
{
|
||||||
|
std::get<1>(_val(ctx)) = std::move(_attr(ctx));
|
||||||
|
};
|
||||||
|
|
||||||
grammar::generic_json_grammar_type const& generic_json_grammar();
|
grammar::generic_json_grammar_type const& generic_json_grammar();
|
||||||
grammar::generic_json_key_value_type const& generic_json_key_value();
|
grammar::generic_json_key_value_type const& generic_json_key_value();
|
||||||
|
|
||||||
|
|
|
@ -46,22 +46,6 @@ auto make_false = [] (auto const& ctx)
|
||||||
_val(ctx) = false;
|
_val(ctx) = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
auto assign = [](auto const& ctx)
|
|
||||||
{
|
|
||||||
_val(ctx) = _attr(ctx);
|
|
||||||
};
|
|
||||||
|
|
||||||
auto assign_key = [](auto const& ctx)
|
|
||||||
{
|
|
||||||
std::get<0>(_val(ctx)) = _attr(ctx);
|
|
||||||
};
|
|
||||||
|
|
||||||
auto assign_value = [](auto const& ctx)
|
|
||||||
{
|
|
||||||
std::get<1>(_val(ctx)) = _attr(ctx);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
using x3::lit;
|
using x3::lit;
|
||||||
using x3::string;
|
using x3::string;
|
||||||
// exported rules
|
// exported rules
|
||||||
|
|
Loading…
Reference in a new issue