21 char const *doc_start ) {
34 std::vector<stack_value> parse_stack{ };
35 std::string member_name{ };
39 if( last >= jp.
value.get_string_view( ).data( ) ) {
42 if( parse_stack.empty( ) ) {
45 using namespace std::string_literals;
46 if( parse_stack.back( ).is_class ) {
47 member_name =
"."s + ( jp.
name ?
static_cast<std::string
>( *jp.
name )
57 parse_stack.push_back( { member_name,
false } );
62 parse_stack.pop_back( );
67 parse_stack.push_back( { member_name,
false } );
72 parse_stack.pop_back( );
78 return std::accumulate(
79 handler.parse_stack.begin( ), handler.parse_stack.end( ), std::string{ },
80 []( std::string state, stack_value
const &sv ) { return sv.name; } );