{
bool parse_path_into(std::string_view path_str, std::vector<path_component> & components) {
using components_type = std::remove_reference_t<decltype(components)>;
const auto original_size = components.size();
static constexpr auto on_key = [](void* data, std::string_view key) -> bool {
auto& comps = *static_cast<components_type*>(data);
comps.emplace_back(key);
return true;
};
static constexpr auto on_index = [](void* data, size_t index) -> bool {
auto& comps = *static_cast<components_type*>(data);
comps.emplace_back(index);
return true;
};
if (!impl::parse_path(path_str, &components, on_key, on_index)) {
components.resize(original_size);
return false;
}
return true;
}
}
#define TOML_ANON_NAMESPACE_END
Definition preprocessor.hpp:1337
#define TOML_INTERNAL_LINKAGE
Definition preprocessor.hpp:1340