当前位置: 首页>>代码示例>>C++>>正文


C++ ePipeline::Length方法代码示例

本文整理汇总了C++中ePipeline::Length方法的典型用法代码示例。如果您正苦于以下问题:C++ ePipeline::Length方法的具体用法?C++ ePipeline::Length怎么用?C++ ePipeline::Length使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ePipeline的用法示例。


在下文中一共展示了ePipeline::Length方法的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--;
}
开发者ID:GMIS,项目名称:GMIS,代码行数:76,代码来源:SpaceMsgList.cpp


注:本文中的ePipeline::Length方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。