Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
MeasurementResults.hpp
Go to the documentation of this file.
1
6/*
7 * Author: Radovan Cerveny
8 */
9
10#pragma once
11
12#include <ostream>
13#include "MeasurementTypes.hpp"
14#include "MeasurementFrame.hpp"
15
16namespace measurements {
17
18enum class MeasurementFormat : long {
19 LIST = 1, TREE = 2
20};
21
23 static const int FORMAT;
24};
25
28
31
32 void printAsList ( std::ostream & ) const;
33 void printAsTree ( std::ostream & ) const;
34
35 static MeasurementResults aggregate ( const std::vector < MeasurementResults > & );
36
37private:
38 void printAsList ( std::ostream &, unsigned ) const;
39 void printAsTree ( std::ostream &, unsigned, std::string &, bool ) const;
40};
41
42std::ostream & operator <<( std::ostream &, const MeasurementResults & );
43
44template < typename CharT, typename Traits >
45inline std::basic_ostream < CharT, Traits > & operator <<( std::basic_ostream < CharT, Traits > & x, MeasurementFormat f ) {
46 x.iword ( MeasurementXalloc::FORMAT ) = static_cast < long > ( f ); // FIXME in C++23 use std::to_underlying
47 return x;
48}
49
50}
51
Definition: StealthAllocator.hpp:16
std::ostream & operator<<(std::ostream &os, const CounterDataFrame &cdf)
Definition: CounterDataFrame.cpp:61
std::vector< T, stealth_allocator< T > > stealth_vector
Definition: StealthTypes.hpp:27
MeasurementFormat
Definition: MeasurementResults.hpp:18
Definition: MeasurementResults.hpp:26
measurements::stealth_vector< MeasurementFrame > frames
Definition: MeasurementResults.hpp:27
void printAsTree(std::ostream &) const
Definition: MeasurementResults.cpp:36
static MeasurementResults aggregate(const std::vector< MeasurementResults > &)
Definition: MeasurementResults.cpp:103
void printAsList(std::ostream &) const
Definition: MeasurementResults.cpp:18
Definition: MeasurementResults.hpp:22
static const int FORMAT
Definition: MeasurementResults.hpp:23