detail/stack.hpp

59.6% Lines (283/475) 59.7% List of functions (95/159)
f(x) Functions (159)
Function Calls Lines Branches Blocks
boost::json::detail::stack::stack() :54 2164605x 100.0% 100.0% boost::json::detail::stack::empty() const :62 3260464x 100.0% 100.0% boost::json::detail::stack::reserve(unsigned long) :72 173075x 100.0% 100.0% void boost::json::detail::stack::push<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >&>(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >&) :80 20x 100.0% 100.0% void boost::json::detail::stack::push<boost::json::array const*&>(boost::json::array const*&) :80 2637x 100.0% 100.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::basic_parser_test::comment_parser::handler>::state>(boost::json::basic_parser<boost::json::basic_parser_test::comment_parser::handler>::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::basic_parser_test::literal_parser::handler>::state>(boost::json::basic_parser<boost::json::basic_parser_test::literal_parser::handler>::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::basic_parser_test::std_null_parser::handler>::state>(boost::json::basic_parser<boost::json::basic_parser_test::std_null_parser::handler>::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::basic_parser_test::utf8_parser::handler>::state>(boost::json::basic_parser<boost::json::basic_parser_test::utf8_parser::handler>::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::handler>::state>(boost::json::basic_parser<boost::json::detail::handler>::state&&) :80 53x 100.0% 100.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<bool> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<bool> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<boost::json::string> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::json::string> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<bool, unsigned long> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<bool, unsigned long> > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate, int, bool> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate, int, bool> > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate, std::vector<int, std::allocator<int> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate, std::vector<int, std::allocator<int> > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate> > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<int> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<int> > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<std::vector<int, std::allocator<int> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<std::vector<int, std::allocator<int> > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<std::vector<int, std::allocator<int> >, std::tuple<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > >, std::tuple<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<std::vector<int, std::allocator<int> >, std::tuple<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > >, std::tuple<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > > > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<char> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<char> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<decltype(nullptr)> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<decltype(nullptr)> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<double> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<double> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<float> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<float> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<int> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<int> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<long long> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<long long> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<long> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<long> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<short> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<short> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<signed char> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<signed char> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::array<int, 4ul> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::array<int, 4ul> > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > > > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::tuple<int, int>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::tuple<int, int> > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::tuple<int, int>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::tuple<int, int> > > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<int, std::allocator<int> > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<int, std::allocator<int> > > > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::pair<decltype(nullptr), unsigned long> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::pair<decltype(nullptr), unsigned long> > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::pair<int, int> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::pair<int, int> > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::pair<std::vector<int, std::allocator<int> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<int, bool>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<int, bool> > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::pair<std::vector<int, std::allocator<int> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<int, bool>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<int, bool> > > > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::tuple<int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::tuple<int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::tuple<int, int, int> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::tuple<int, int, int> > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::tuple<std::vector<int, std::allocator<int> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::tuple<std::vector<int, std::allocator<int> > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<bool, std::allocator<bool> > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<bool, std::allocator<bool> > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<boost::variant2::variant<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::variant2::variant<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<boost::variant2::variant<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::variant2::variant<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<char, std::allocator<char> > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<char, std::allocator<char> > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<decltype(nullptr), std::allocator<decltype(nullptr)> > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<decltype(nullptr), std::allocator<decltype(nullptr)> > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<float, std::allocator<float> > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<float, std::allocator<float> > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<int, std::allocator<int> > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<int, std::allocator<int> > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::array<int, 4ul>, std::allocator<std::array<int, 4ul> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::array<int, 4ul>, std::allocator<std::array<int, 4ul> > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >, std::allocator<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >, std::allocator<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::allocator<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::allocator<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<unsigned long, std::allocator<unsigned long> > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<unsigned long, std::allocator<unsigned long> > > >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<unsigned char> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<unsigned char> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<unsigned int> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<unsigned int> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<unsigned long long> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<unsigned long long> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<unsigned long> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<unsigned long> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::detail::into_handler<unsigned short> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<unsigned short> >::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::fail_parser::handler>::state>(boost::json::basic_parser<boost::json::fail_parser::handler>::state&&) :80 513x 100.0% 100.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::null_parser::handler>::state>(boost::json::basic_parser<boost::json::null_parser::handler>::state&&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<boost::json::basic_parser<boost::json::throw_parser::handler>::state>(boost::json::basic_parser<boost::json::throw_parser::handler>::state&&) :80 441x 100.0% 100.0% void boost::json::detail::stack::push<boost::json::detail::writer::state&>(boost::json::detail::writer::state&) :80 23132x 100.0% 100.0% void boost::json::detail::stack::push<boost::json::key_value_pair const*&>(boost::json::key_value_pair const*&) :80 9060x 100.0% 100.0% void boost::json::detail::stack::push<boost::json::object const*&>(boost::json::object const*&) :80 9060x 100.0% 100.0% void boost::json::detail::stack::push<boost::json::value const*&>(boost::json::value const*&) :80 2636x 100.0% 100.0% void boost::json::detail::stack::push<char const*&>(char const*&) :80 1x 100.0% 100.0% void boost::json::detail::stack::push<double>(double&&) :80 1x 100.0% 100.0% void boost::json::detail::stack::push<int>(int&&) :80 2x 100.0% 100.0% void boost::json::detail::stack::push<std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> >&>(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> >&) :80 60x 100.0% 100.0% void boost::json::detail::stack::push<std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<int, std::allocator<int> > > >&>(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<int, std::allocator<int> > > >&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > const*&>(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > const*&) :80 60x 100.0% 100.0% void boost::json::detail::stack::push<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<int, std::allocator<int> > > > > const*&>(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<int, std::allocator<int> > > > > const*&) :80 0 0.0% 0.0% void boost::json::detail::stack::push<std::pair<int, bool> const*&>(std::pair<int, bool> const*&) :80 18x 100.0% 100.0% void boost::json::detail::stack::push<std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, bool> const*&>(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, bool> const*&) :80 38x 100.0% 100.0% void boost::json::detail::stack::push<std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<int, bool> > const*&>(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<int, bool> > const*&) :80 42x 100.0% 100.0% void boost::json::detail::stack::push<std::vector<int, std::allocator<int> > const*&>(std::vector<int, std::allocator<int> > const*&) :80 20x 100.0% 100.0% void boost::json::detail::stack::push<std::vector<int, std::allocator<int> >&>(std::vector<int, std::allocator<int> >&) :80 4x 100.0% 100.0% void boost::json::detail::stack::push<unsigned long&>(unsigned long&) :80 98x 100.0% 100.0% void boost::json::detail::stack::pop<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >&) :97 20x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::array const*>(boost::json::array const*&) :97 2636x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::basic_parser_test::comment_parser::handler>::state>(boost::json::basic_parser<boost::json::basic_parser_test::comment_parser::handler>::state&) :97 0 0.0% 0.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::basic_parser_test::literal_parser::handler>::state>(boost::json::basic_parser<boost::json::basic_parser_test::literal_parser::handler>::state&) :97 172x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::basic_parser_test::std_null_parser::handler>::state>(boost::json::basic_parser<boost::json::basic_parser_test::std_null_parser::handler>::state&) :97 0 0.0% 0.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::basic_parser_test::utf8_parser::handler>::state>(boost::json::basic_parser<boost::json::basic_parser_test::utf8_parser::handler>::state&) :97 15x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::handler>::state>(boost::json::basic_parser<boost::json::detail::handler>::state&) :97 146904x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<bool> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<bool> >::state&) :97 100x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<boost::json::string> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::json::string> >::state&) :97 0 0.0% 0.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<bool, unsigned long> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<bool, unsigned long> > >::state&) :97 112x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate, int, bool> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate, int, bool> > >::state&) :97 2x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::state&) :97 145x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate, std::vector<int, std::allocator<int> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate, std::vector<int, std::allocator<int> > > > >::state&) :97 60x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<boost::variant2::monostate> > >::state&) :97 2x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::state&) :97 97x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<int> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<int> > >::state&) :97 47x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<std::vector<int, std::allocator<int> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<std::vector<int, std::allocator<int> > > > >::state&) :97 60x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<std::vector<int, std::allocator<int> >, std::tuple<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > >, std::tuple<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<boost::variant2::variant<std::vector<int, std::allocator<int> >, std::tuple<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > >, std::tuple<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > > > > > >::state&) :97 122x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<char> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<char> >::state&) :97 46x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<decltype(nullptr)> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<decltype(nullptr)> >::state&) :97 48x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<double> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<double> >::state&) :97 51x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<float> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<float> >::state&) :97 50x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<int> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<int> >::state&) :97 94x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<long long> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<long long> >::state&) :97 64x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<long> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<long> >::state&) :97 64x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<short> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<short> >::state&) :97 50x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<signed char> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<signed char> >::state&) :97 48x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::state&) :97 97x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::array<int, 4ul> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::array<int, 4ul> > >::state&) :97 89x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > > >::state&) :97 234x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > > > > > >::state&) :97 164x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::tuple<int, int>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::tuple<int, int> > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::tuple<int, int>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::tuple<int, int> > > > > >::state&) :97 13x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<int, std::allocator<int> > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<int, std::allocator<int> > > > > > >::state&) :97 130x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > > > > >::state&) :97 198x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::pair<decltype(nullptr), unsigned long> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::pair<decltype(nullptr), unsigned long> > >::state&) :97 94x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::pair<int, int> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::pair<int, int> > >::state&) :97 7x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::pair<std::vector<int, std::allocator<int> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<int, bool>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<int, bool> > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::pair<std::vector<int, std::allocator<int> >, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<int, bool>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::pair<int, bool> > > > > > >::state&) :97 162x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::tuple<int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::tuple<int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::state&) :97 160x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::tuple<int, int, int> > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::tuple<int, int, int> > >::state&) :97 6x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::tuple<std::vector<int, std::allocator<int> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::tuple<std::vector<int, std::allocator<int> > > > >::state&) :97 13x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<bool, std::allocator<bool> > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<bool, std::allocator<bool> > > >::state&) :97 109x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<boost::variant2::variant<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::variant2::variant<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<boost::variant2::variant<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::variant2::variant<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::state&) :97 96x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<char, std::allocator<char> > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<char, std::allocator<char> > > >::state&) :97 1x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<decltype(nullptr), std::allocator<decltype(nullptr)> > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<decltype(nullptr), std::allocator<decltype(nullptr)> > > >::state&) :97 61x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<float, std::allocator<float> > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<float, std::allocator<float> > > >::state&) :97 210x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<int, std::allocator<int> > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<int, std::allocator<int> > > >::state&) :97 100x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::state&) :97 125x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::array<int, 4ul>, std::allocator<std::array<int, 4ul> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::array<int, 4ul>, std::allocator<std::array<int, 4ul> > > > >::state&) :97 147x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >, std::allocator<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >, std::allocator<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > > > > >::state&) :97 98x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > >::state&) :97 115x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > >::state&) :97 132x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::allocator<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::allocator<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > > > >::state&) :97 250x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<std::vector<unsigned long, std::allocator<unsigned long> > > >::state>(boost::json::basic_parser<boost::json::detail::into_handler<std::vector<unsigned long, std::allocator<unsigned long> > > >::state&) :97 92x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<unsigned char> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<unsigned char> >::state&) :97 47x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<unsigned int> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<unsigned int> >::state&) :97 49x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<unsigned long long> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<unsigned long long> >::state&) :97 64x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<unsigned long> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<unsigned long> >::state&) :97 64x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::detail::into_handler<unsigned short> >::state>(boost::json::basic_parser<boost::json::detail::into_handler<unsigned short> >::state&) :97 49x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::fail_parser::handler>::state>(boost::json::basic_parser<boost::json::fail_parser::handler>::state&) :97 28297x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::null_parser::handler>::state>(boost::json::basic_parser<boost::json::null_parser::handler>::state&) :97 0 0.0% 0.0% void boost::json::detail::stack::pop<boost::json::basic_parser<boost::json::throw_parser::handler>::state>(boost::json::basic_parser<boost::json::throw_parser::handler>::state&) :97 28221x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::detail::writer::state>(boost::json::detail::writer::state&) :97 23130x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::key_value_pair const*>(boost::json::key_value_pair const*&) :97 9060x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::object const*>(boost::json::object const*&) :97 9060x 100.0% 100.0% void boost::json::detail::stack::pop<boost::json::value const*>(boost::json::value const*&) :97 2636x 100.0% 100.0% void boost::json::detail::stack::pop<char const*>(char const*&) :97 1x 100.0% 100.0% void boost::json::detail::stack::pop<double>(double&) :97 1x 100.0% 100.0% void boost::json::detail::stack::pop<int>(int&) :97 1x 100.0% 100.0% void boost::json::detail::stack::pop<std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> >&) :97 60x 100.0% 100.0% void boost::json::detail::stack::pop<std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<int, std::allocator<int> > > > >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<int, std::allocator<int> > > >&) :97 0 0.0% 0.0% void boost::json::detail::stack::pop<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > const*>(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > const*&) :97 60x 100.0% 100.0% void boost::json::detail::stack::pop<std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<int, std::allocator<int> > > > > const*>(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<int, std::allocator<int> > > > > const*&) :97 0 0.0% 0.0% void boost::json::detail::stack::pop<std::pair<int, bool> const*>(std::pair<int, bool> const*&) :97 18x 100.0% 100.0% void boost::json::detail::stack::pop<std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, bool> const*>(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, bool> const*&) :97 38x 100.0% 100.0% void boost::json::detail::stack::pop<std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<int, bool> > const*>(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<int, bool> > const*&) :97 42x 100.0% 100.0% void boost::json::detail::stack::pop<std::vector<int, std::allocator<int> > >(std::vector<int, std::allocator<int> >&) :97 3x 100.0% 100.0% void boost::json::detail::stack::pop<std::vector<int, std::allocator<int> > const*>(std::vector<int, std::allocator<int> > const*&) :97 20x 100.0% 100.0% void boost::json::detail::stack::pop<unsigned long>(unsigned long&) :97 73757x 100.0% 100.0%
Line TLA Hits Source Code
1 //
2 // Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
3 //
4 // Distributed under the Boost Software License, Version 1.0. (See accompanying
5 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 //
7 // Official repository: https://github.com/boostorg/json
8 //
9
10 #ifndef BOOST_JSON_DETAIL_STACK_HPP
11 #define BOOST_JSON_DETAIL_STACK_HPP
12
13 #include <boost/json/detail/config.hpp>
14 #include <boost/json/storage_ptr.hpp>
15 #include <boost/mp11/integral.hpp>
16 #include <cstring>
17 #include <type_traits>
18
19 namespace boost {
20 namespace json {
21 namespace detail {
22
23 #if defined( BOOST_LIBSTDCXX_VERSION ) && BOOST_LIBSTDCXX_VERSION < 50000
24
25 template<class T>
26 struct is_trivially_copy_assignable
27 : mp11::mp_bool<
28 std::is_copy_assignable<T>::value &&
29 std::has_trivial_copy_assign<T>::value >
30 {};
31
32 #else
33
34 using std::is_trivially_copy_assignable;
35
36 #endif
37
38 class stack
39 {
40 template< class T = void >
41 struct non_trivial;
42
43 storage_ptr sp_;
44 std::size_t cap_ = 0;
45 std::size_t size_ = 0;
46 non_trivial<>* head_ = nullptr;
47 unsigned char* base_ = nullptr;
48 unsigned char* buf_ = nullptr;
49
50 public:
51 BOOST_JSON_DECL
52 ~stack();
53
54 2164605x stack() = default;
55
56 stack(
57 storage_ptr sp,
58 unsigned char* buf,
59 std::size_t buf_size) noexcept;
60
61 bool
62 3260464x empty() const noexcept
63 {
64 3260464x return size_ == 0;
65 }
66
67 BOOST_JSON_DECL
68 void
69 clear() noexcept;
70
71 void
72 173075x reserve(std::size_t n)
73 {
74 173075x if(n > cap_)
75 115792x reserve_impl(n);
76 173075x }
77
78 template<class T>
79 void
80 47896x push(T&& t)
81 {
82 using U = remove_cvref<T>;
83 47896x push( static_cast<T&&>(t), is_trivially_copy_assignable<U>() );
84 47894x }
85
86 template<class T>
87 void
88 push_unchecked(
89 T const& t);
90
91 template<class T>
92 void
93 peek(T& t);
94
95 template<class T>
96 void
97 328590x pop(T& t)
98 {
99 using U = remove_cvref<T>;
100 328590x pop( t, is_trivially_copy_assignable<U>() );
101 328590x }
102
103 private:
104 template<class T> void push(
105 T const& t, std::true_type);
106 template<class T> void push(
107 T&& t, std::false_type);
108 template<class T> void pop(
109 T& t, std::true_type);
110 template<class T> void pop(
111 T& t, std::false_type);
112
113 BOOST_JSON_DECL
114 void
115 reserve_impl(
116 std::size_t n);
117 };
118
119 } // detail
120 } // namespace json
121 } // namespace boost
122
123 #include <boost/json/detail/impl/stack.hpp>
124
125 #endif
126