本文整理汇总了C++中CData::GetType方法的典型用法代码示例。如果您正苦于以下问题:C++ CData::GetType方法的具体用法?C++ CData::GetType怎么用?C++ CData::GetType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CData
的用法示例。
在下文中一共展示了CData::GetType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetValue
void CValueTable::SetValue(int ColIdx, int RowIdx, const CData& Val)
{
const CType* Type = GetColumnValueType(ColIdx);
n_assert(!Type || Type == Val.GetType());
n_assert(IsRowValid(RowIdx));
void** pObj = GetValuePtr(ColIdx, RowIdx);
if (Type) Type->Copy(IsSpecialType(Type) ? (void**)&pObj : pObj, Val.GetValueObjectPtr());
else *(CData*)pObj = Val;
if (Flags.Is(_TrackModifications))
{
RowStateBuffer[RowIdx] |= UpdatedRow;
Flags.Set(_IsModified);
Flags.Set(_HasModifiedRows);
}
}
示例2: GetColumnIndex
// Finds a row index by single attribute value. This method can be slow since
// it may search linearly (and vertically) through the table.
// FIXME: keep row indices for indexed rows in nDictionaries?
nArray<int> CValueTable::InternalFindRowIndicesByAttr(CAttrID AttrID, const CData& Value, bool FirstMatchOnly) const
{
nArray<int> Result;
int ColIdx = GetColumnIndex(AttrID);
const CType* Type = GetColumnValueType(ColIdx);
n_assert(Type == Value.GetType());
for (int RowIdx = 0; RowIdx < GetRowCount(); RowIdx++)
{
if (IsRowValid(RowIdx))
{
void** pObj = GetValuePtr(ColIdx, RowIdx);
if (Type->IsEqualT(Value.GetValueObjectPtr(), IsSpecialType(Type) ? (void*)pObj : *pObj))
{
Result.Append(RowIdx);
if (FirstMatchOnly) return Result;
}
}
}
return Result;
}