// #pragma once // #include // #include "commons/commons_array_def.h" // template // struct inline_queue // { // uint64_t write; // uint64_t read; // array data; // }; // template // INLINE auto InlineQueue_Size(inline_queue& self) -> bool // { // if (self.write >= self.read) // return self.write - self.read; // else // return Capacity - (self.read - self.write); // } // template // INLINE auto InlineQueue_IsEmpty(inline_queue& self) -> bool // { // return self.write == self.read; // } // template // INLINE void InlineQueue_Clear(inline_queue& self) // { // self.read = 0; // self.write = 0; // } // template // INLINE void InlineQueue_Write(inline_queue& self, const T& data) // { // self.data[self.write] = data; // self.write = (self.write + 1) % Capacity; // } // template // INLINE auto InlineQueue_Read(inline_queue& self) -> T // { // T ret = self.data[self.read]; // self.read = (self.read + 1) % Capacity; // return ret; // }