13 #ifndef MAC_BYTE_DATA_H
14 #define MAC_BYTE_DATA_H
18 #if defined(__APPLE__)
22 #include <sys/types.h>
32 ByteData() : _retainCount(0), _data(nullptr), _size(0) {}
35 ByteData(
size_t size) : _retainCount(0), _size(size) {
36 _data =
new char[_size];
45 inline const char *
data()
const {
50 inline size_t size()
const {
56 if (_retainCount <= 0) {
64 if (--_retainCount == 0) {
Byte data container with reference counting (Helper class)
const char * data() const
get const pointer to data
size_t size() const
get size of data
void retain()
increase reference count
void release()
decrease reference count, if reference count goes to 0, ByteData is released
ByteData(size_t size)
C-tor.
char * data()
get pointer to data
Smart pointer to reference counted object (Helper class)
#define OSXSUPPORT_PUBLIC_API
Symbol visibility macros.
#define OSXSUPPORT_PRIVATE_API
SmartPtr< ByteData > ByteDataPtr
Reference counted pointer to ByteData container.
void destroy()
Delete dynamic data structures allocated by init().