本文整理汇总了C++中ePipeline::GetDataType方法的典型用法代码示例。如果您正苦于以下问题:C++ ePipeline::GetDataType方法的具体用法?C++ ePipeline::GetDataType怎么用?C++ ePipeline::GetDataType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ePipeline
的用法示例。
在下文中一共展示了ePipeline::GetDataType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PrintPipe
void CPipeView::PrintPipe(ePipeline& Pipe,int32 TabNum/*=0*/)
{
TCHAR buffer[200];
int i;
int size = Pipe.Length();
int Tab=TabNum;
for(i=0; i<Tab; i++){
buffer[i]=_T('\t');
}
//限制嵌套数目
if(Tab>90){
throw std::exception("WARNING: Nest Pipe too much, end View");
}
tstring PipeLabel = Pipe.m_Label;
_stprintf(buffer+Tab,_T("Pipe<%s>: %d Data\n"),PipeLabel.c_str(), Pipe.Size());
m_Result.PushString(buffer);
Tab = ++TabNum;
for(i=0; i<Tab; i++){
buffer[i]=_T('\t');
}
for(i=0; i<size; i++){
uint32 Type = Pipe.GetDataType(i);
switch(Type){
case TYPE_NULL:
{
_stprintf(buffer+Tab,_T("%03d NULL\n"),i);
m_Result.PushString(buffer);
}
break;
case TYPE_INT:
{
int64* value=(int64 *)Pipe.GetData(i);
_stprintf(buffer+Tab,_T("%03d INT64: %I64ld\n"),i, *value);
m_Result.PushString(buffer);
}
break;
case TYPE_FLOAT:
{
float64* value=(float64 *)Pipe.GetData(i);
_stprintf(buffer+Tab,_T("%03d FLOAT64: %f\n"),i, *value);
m_Result.PushString(buffer);
}
break;
case TYPE_STRING:
{
tstring* value=(tstring *)Pipe.GetData(i);
_stprintf(buffer+Tab,_T("%03d STRING:"),i);
//MBPrintf("test1","%s",value->c_str());
tstring s(buffer);
s +=(*value);
s +=_T('\n');
m_Result.PushString(s);
//MBPrintf("test","size=%d",Result.Size());
}
break;
case TYPE_PIPELINE:
{
ePipeline* value=(ePipeline *)Pipe.GetData(i);
//如果不用PipeNum++而用t++,导致t增大不能恢复,中间形成空格,之后打印的数据不可见
PrintPipe(*value,TabNum);
}
break;
}
}
TabNum--;
}