blob: d25b54a7660f9f6a3279ac902931785f5c3054c8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#pragma once
#include "callgrindfunction.h"
namespace Valgrind {
namespace Callgrind {
/**
* self cost of a function cycle: sum of self costs of functions in the cycle
* callers of a function cycle: set of callers to functions in the cycle
* excluding calls inside the cycle
* callees of a function cycle: set of callees from functions in the cycle
* excluding calees inside the cycle
* inclusive cost of a function cycle: sum of inclusive cost of callees of the cycle (see above)
*/
class FunctionCycle : public Function
{
public:
explicit FunctionCycle(const ParseData *data);
~FunctionCycle() override;
/// sets the list of functions that make up this cycle
/// NOTE: ownership is *not* transferred to the cycle
void setFunctions(const QVector<const Function *> &functions);
/// @return the functions that make up this cycle
QVector<const Function *> functions() const;
private:
class Private;
};
} // namespace Callgrind
} // namespace Valgrind
|