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:
Ingo Weinhold
2009-07-13 18:33:06 +00:00
parent 000dfcbcf3
commit 3b859de22e
2 changed files with 34 additions and 0 deletions
+2
View File
@@ -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);
+32
View File
@@ -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)
{