Buffer.h 764 B

12345678910111213141516171819202122232425262728
  1. #ifndef CORE_BUFFER_H
  2. #define CORE_BUFFER_H
  3. #include <stddef.h>
  4. typedef struct {
  5. size_t size;
  6. size_t capacity;
  7. char* buffer;
  8. } CoreBuffer;
  9. void coreInitBuffer(CoreBuffer* b);
  10. void coreDestroyBuffer(CoreBuffer* b);
  11. void coreAddSizedBufferData(CoreBuffer* b, const void* data, size_t size);
  12. #define coreAddTypedBufferData(buffer, type, ...) \
  13. coreAddSizedBufferData(buffer, &(type){__VA_ARGS__}, sizeof(type))
  14. void coreClearBuffer(CoreBuffer* b);
  15. #ifdef IMPORT_CORE
  16. #define Buffer CoreBuffer
  17. #define initBuffer coreInitBuffer
  18. #define destroyBuffer coreDestroyBuffer
  19. #define addSizedBufferData coreAddSizedBufferData
  20. #define addTypedBufferData coreAddTypedBufferData
  21. #define clearBuffer coreClearBuffer
  22. #endif
  23. #endif