blob: e959ed548ec1681463dd8a1d90f44687e5a4562f [file] [log] [blame]
Aron Virginas-Tare898db92019-08-22 12:56:34 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include "EncodeVersion.hpp"
9
10namespace armnn
11{
12
13namespace profiling
14{
15
Jim Flynned25e0e2019-10-18 13:21:43 +010016class PacketKey final
17{
18public:
19 PacketKey(uint32_t familyId, uint32_t packetId) : m_FamilyId(familyId), m_PacketId(packetId) {}
20
21 uint32_t GetFamilyId() { return m_FamilyId; }
22 uint32_t GetPacketId() { return m_PacketId; }
23
24 bool operator< (const PacketKey& rhs) const;
25 bool operator> (const PacketKey& rhs) const;
26 bool operator<=(const PacketKey& rhs) const;
27 bool operator>=(const PacketKey& rhs) const;
28 bool operator==(const PacketKey& rhs) const;
29 bool operator!=(const PacketKey& rhs) const;
30
31private:
32 uint32_t m_FamilyId;
33 uint32_t m_PacketId;
34};
35
Aron Virginas-Tare898db92019-08-22 12:56:34 +010036class PacketVersionResolver final
37{
38public:
39 PacketVersionResolver() = default;
40 ~PacketVersionResolver() = default;
41
Jim Flynned25e0e2019-10-18 13:21:43 +010042 Version ResolvePacketVersion(uint32_t familyId, uint32_t packetId) const;
Aron Virginas-Tare898db92019-08-22 12:56:34 +010043};
44
45} // namespace profiling
46
47} // namespace armnn