Added handy static method SizeOfType().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31538 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -73,6 +73,8 @@ public:
|
||||
void* ToPointer() const;
|
||||
const char* ToString() const;
|
||||
|
||||
static size_t SizeOfType(uint32 type);
|
||||
|
||||
private:
|
||||
void _SetTo(const BVariant& other);
|
||||
void _SetTo(int8 value);
|
||||
|
||||
@@ -220,6 +220,38 @@ BVariant::_SetTo(const BVariant& other)
|
||||
}
|
||||
|
||||
|
||||
/*static*/ size_t
|
||||
BVariant::SizeOfType(uint32 type)
|
||||
{
|
||||
switch (type) {
|
||||
case B_INT8_TYPE:
|
||||
return 1;
|
||||
case B_UINT8_TYPE:
|
||||
return 1;
|
||||
case B_INT16_TYPE:
|
||||
return 2;
|
||||
case B_UINT16_TYPE:
|
||||
return 2;
|
||||
case B_INT32_TYPE:
|
||||
return 4;
|
||||
case B_UINT32_TYPE:
|
||||
return 4;
|
||||
case B_INT64_TYPE:
|
||||
return 8;
|
||||
case B_UINT64_TYPE:
|
||||
return 8;
|
||||
case B_FLOAT_TYPE:
|
||||
return sizeof(float);
|
||||
case B_DOUBLE_TYPE:
|
||||
return sizeof(double);
|
||||
case B_POINTER_TYPE:
|
||||
return sizeof(void*);
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
BVariant::_SetTo(int8 value)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user