xref: /aosp_15_r20/external/flatbuffers/benchmarks/cpp/bench.h (revision 890232f25432b36107d06881e0a25aaa6b473652)
1*890232f2SAndroid Build Coastguard Worker #ifndef BENCHMARKS_CPP_BENCH_H_
2*890232f2SAndroid Build Coastguard Worker #define BENCHMARKS_CPP_BENCH_H_
3*890232f2SAndroid Build Coastguard Worker 
4*890232f2SAndroid Build Coastguard Worker #include <cstdint>
5*890232f2SAndroid Build Coastguard Worker 
6*890232f2SAndroid Build Coastguard Worker struct Bench {
~BenchBench7*890232f2SAndroid Build Coastguard Worker   virtual ~Bench() {}
8*890232f2SAndroid Build Coastguard Worker 
AddBench9*890232f2SAndroid Build Coastguard Worker   inline void Add(int64_t value) { sum += value; }
10*890232f2SAndroid Build Coastguard Worker 
11*890232f2SAndroid Build Coastguard Worker   virtual uint8_t *Encode(void *buf, int64_t &len) = 0;
12*890232f2SAndroid Build Coastguard Worker   virtual void *Decode(void *buf, int64_t len) = 0;
13*890232f2SAndroid Build Coastguard Worker   virtual int64_t Use(void *decoded) = 0;
14*890232f2SAndroid Build Coastguard Worker   virtual void Dealloc(void *decoded) = 0;
15*890232f2SAndroid Build Coastguard Worker 
16*890232f2SAndroid Build Coastguard Worker   int64_t sum = 0;
17*890232f2SAndroid Build Coastguard Worker };
18*890232f2SAndroid Build Coastguard Worker 
19*890232f2SAndroid Build Coastguard Worker #endif // BENCHMARKS_CPP_BENCH_H_