本文整理汇总了C++中property::Array::begin方法的典型用法代码示例。如果您正苦于以下问题:C++ Array::begin方法的具体用法?C++ Array::begin怎么用?C++ Array::begin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类property::Array
的用法示例。
在下文中一共展示了Array::begin方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: switch
Property::Value& Property::Value::GetItem(const int index) const
{
switch( GetType() )
{
case Property::MAP:
{
int i = 0;
Property::Map *container = AnyCast<Property::Map>(&(mImpl->mValue));
DALI_ASSERT_DEBUG(container && "Property::Map has no container?");
if(container)
{
DALI_ASSERT_ALWAYS(index < static_cast<int>(container->size()) && "Property array index invalid");
DALI_ASSERT_ALWAYS(index >= 0 && "Property array index invalid");
for(Property::Map::iterator iter = container->begin(); iter != container->end(); ++iter)
{
if(i++ == index)
{
return iter->second;
}
}
}
}
break;
case Property::ARRAY:
{
int i = 0;
Property::Array *container = AnyCast<Property::Array>(&(mImpl->mValue));
DALI_ASSERT_DEBUG(container && "Property::Map has no container?");
if(container)
{
DALI_ASSERT_ALWAYS(index < static_cast<int>(container->size()) && "Property array index invalid");
DALI_ASSERT_ALWAYS(index >= 0 && "Property array index invalid");
for(Property::Array::iterator iter = container->begin(); iter != container->end(); ++iter)
{
if(i++ == index)
{
return *iter;
}
}
}
}
break;
case Property::NONE:
case Property::BOOLEAN:
case Property::FLOAT:
case Property::INTEGER:
case Property::UNSIGNED_INTEGER:
case Property::VECTOR2:
case Property::VECTOR3:
case Property::VECTOR4:
case Property::MATRIX3:
case Property::MATRIX:
case Property::RECTANGLE:
case Property::ROTATION:
case Property::STRING:
case Property::TYPE_COUNT:
{
DALI_ASSERT_ALWAYS(!"Cannot GetItem on property Type; not a container");
break;
}
} // switch GetType()
DALI_ASSERT_ALWAYS(!"Property value index not valid");
// should never return this
static Property::Value null;
return null;
}