8 #ifndef SkDataTable_DEFINED
9 #define SkDataTable_DEFINED
11 #include "../private/SkTDArray.h"
25 bool isEmpty()
const {
return 0 == fCount; }
30 int count()
const {
return fCount; }
36 size_t atSize(
int index)
const;
45 const void* at(
int index,
size_t* size = NULL)
const;
48 const T* atT(
int index,
size_t* size = NULL)
const {
49 return reinterpret_cast<const T*
>(this->at(index, size));
56 const char*
atStr(
int index)
const {
58 const char* str = this->atT<const char>(index, &size);
59 SkASSERT(strlen(str) + 1 == size);
63 typedef void (*FreeProc)(
void* context);
77 const size_t sizes[],
int count);
87 static sk_sp<SkDataTable> MakeCopyArray(
const void* array,
size_t elemSize,
int count);
90 FreeProc proc,
void* context);
106 void* fFreeProcContext;
109 SkDataTable(
const void* array,
size_t elemSize,
int count,
110 FreeProc,
void* context);
111 SkDataTable(
const Dir*,
int count, FreeProc,
void* context);
114 friend class SkDataTableBuilder;
const char * atStr(int index) const
Returns the index'th entry as a c-string, and assumes that the trailing null byte had been copied int...
Definition: SkDataTable.h:56
Like SkData, SkDataTable holds an immutable data buffer.
Definition: SkDataTable.h:20
Definition: SkRefCnt.h:125
Shared pointer class to wrap classes that support a ref()/unref() interface.
Definition: SkRefCnt.h:246
int count() const
Return the number of entries in the table.
Definition: SkDataTable.h:30
bool isEmpty() const
Returns true if the table is empty (i.e.
Definition: SkDataTable.h:25
Definition: SkDataTable.h:93