blob: 4dcc6cddc009692be7af3d48ee3041f5a7f891ed [file] [log] [blame]
Jim Flynn00f3aaf2019-10-24 11:58:06 +01001//
2// Copyright © 2019 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
janeil01c4946c72019-11-07 09:32:28 +00008#include <armnn/Types.hpp>
Jim Flynn00f3aaf2019-10-24 11:58:06 +01009
Jim Flynnab845752019-10-25 13:17:30 +010010#include <string>
11
Jim Flynn00f3aaf2019-10-24 11:58:06 +010012namespace armnn
13{
14
15namespace profiling
16{
17
18class IProfilingGuidGenerator
19{
20public:
21 /// Return the next random Guid in the sequence
22 virtual ProfilingDynamicGuid NextGuid() = 0;
23
24 /// Create a ProfilingStaticGuid based on a hash of the string
25 virtual ProfilingStaticGuid GenerateStaticId(const std::string& str) = 0;
26
27 virtual ~IProfilingGuidGenerator() {}
Jim Flynn6b1bf1a2020-01-22 15:18:49 +000028
29 static IProfilingGuidGenerator& Instance();
Jim Flynn00f3aaf2019-10-24 11:58:06 +010030};
31
32} // namespace profiling
33
34} // namespace armnn