/* file ObjectStatistics.cpp * * author: Roland Conybeare, Aug 2025 */ #include "ObjectStatistics.hpp" #include "xo/reflect/TypeDescr.hpp" #include "xo/indentlog/print/pretty_vector.hpp" namespace xo { namespace gc { void PerObjectTypeStatistics::display(std::ostream & os) const { os << "short_name()); else os << xrtag("td", "nullptr"); os << xrtag("scanned_n", scanned_n_) << xrtag("scanned_z", scanned_z_) << xrtag("survive_n", survive_n_) << xrtag("survive_z", survive_z_) << ">"; } void ObjectStatistics::display(std::ostream & os) const { os << ""; } } /*namespace gc*/ namespace print { bool ppdetail::print_pretty(const ppindentinfo & ppii, const xo::gc::PerObjectTypeStatistics & x) { static constexpr std::string_view c_nullptr_str = "nullptr"; if (x.td_) { return ppii.pps()->pretty_struct(ppii, "PerObjectTypeStatistics", refrtag("td", x.td_ ? x.td_->short_name() : c_nullptr_str), refrtag("scanned_n", x.scanned_n_), refrtag("scanned_z", x.scanned_z_), refrtag("survive_n", x.survive_n_), refrtag("survive_z", x.survive_z_)); } else { /* print nothing -- empty struct */ return true; } } bool ppdetail::print_pretty(const ppindentinfo & ppii, const xo::gc::ObjectStatistics & x) { return ppii.pps()->pretty_struct(ppii, "ObjectTypeStatistics", refrtag("per_type_stats_v", x.per_type_stats_v_)); } } /*namespace gc*/ } /*namespace xo*/ /* end ObjectStatistics.cpp */