27 void print(std::string
const& matrix_or_vector_name)
const
29 DBUG(
"Stats [{}]: {} elements added to the matrix cache.",
30 matrix_or_vector_name,
32 DBUG(
"Stats [{}]: {} nonzero elements added to the matrix cache.",
33 matrix_or_vector_name,
35 DBUG(
"Stats [{}]: {} elements added to the global matrix.",
36 matrix_or_vector_name,
41template <
int NumMatrices>
89template <
typename Data>
91 :
public std::enable_shared_from_this<CumulativeStats<Data>>
93 using Base = std::enable_shared_from_this<CumulativeStats<Data>>;
98 static std::shared_ptr<CumulativeStats<Data>>
create(
const int num_threads)
100 return std::shared_ptr<CumulativeStats<Data>>(
106 std::shared_ptr<CumulativeStats<Data>>
clone()
108 return std::make_shared<CumulativeStats<Data>>(*this);
126 std::swap(
data, other.data);
144 DBUG(
"Adding cumulative stats to parent.");
158 std::shared_ptr<CumulativeStats<Data>>
parent_;
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
std::shared_ptr< std::mutex > parent_mutex_
CumulativeStats(CumulativeStats< Data > &other)
CumulativeStats(CumulativeStats< Data > const &other)=delete
std::enable_shared_from_this< CumulativeStats< Data > > Base
std::shared_ptr< CumulativeStats< Data > > parent_
std::shared_ptr< CumulativeStats< Data > > clone()
CumulativeStats(const int num_threads)
static std::shared_ptr< CumulativeStats< Data > > create(const int num_threads)
CumulativeStats(CumulativeStats< Data > &&other)
MultiStats & operator+=(MultiStats const &other)
MultiStats & operator+=(MultiStats const &other)
std::size_t count_nonzero
Stats & operator+=(Stats const &other)
void print(std::string const &matrix_or_vector_name) const