NeKernel dev
Loading...
Searching...
No Matches
Chronometer.h
Go to the documentation of this file.
1/* ========================================
2
3Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
4
5======================================== */
6
7#ifndef BENCHKIT_CHRONO_H
8#define BENCHKIT_CHRONO_H
9
11#include <NeKit/Config.h>
12
15
16#define BENCHKIT_INTERFACE : public ::Kernel::ChronoInterface
17
18namespace Kernel {
19class ChronoInterface;
20
23 public:
24 ChronoInterface() = default;
25 virtual ~ChronoInterface() = default;
26
28
29 virtual Void Start() = 0;
30 virtual Void Stop() = 0;
31 virtual Void Reset() = 0;
32 virtual UInt64 GetElapsedTime() const = 0;
33};
34} // namespace Kernel
35
36namespace BenchKit {
37using namespace Kernel;
38}
39
40#endif // BENCHKIT_CHRONO_H
#define NE_COPY_DEFAULT(KLASS)
Definition Detail.h:17
virtual ~ChronoInterface()=default
virtual UInt64 GetElapsedTime() const =0
virtual Void Start()=0
virtual Void Reset()=0
virtual Void Stop()=0
Definition Chronometer.h:36
UPS inline definitions.
Definition Device.h:12
void Void
Definition Config.h:87
__UINT64_TYPE__ UInt64
Definition Config.h:48