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


C++ DataStream::Suc方法代码示例

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


在下文中一共展示了DataStream::Suc方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: WriteRecordSequenceL

void DataStream_SequenceBase::WriteRecordSequenceL(DataStream *target, BOOL start_after, DataStream *start_with_this, DataStream *stop_after_this)
{
	DS_DEBUG_Start();
	OP_ASSERT(target != this);

	int stepw = 0;
	DataStream *item = First();

	DS_Debug_Printf0("------------ Starting to Write Record ------------\n");
	if(start_with_this)
	{
		// Fast Forward
		while(item)
		{
			if(item == start_with_this && !start_after)
				break;

			if(item == stop_after_this)
				return;

			item = item->Suc();
			stepw++;

			if(item && start_with_this == item->Pred())
				break;
		}
	}

	WriteActionL(stepw++, (item && item->Pred() ? item->Pred()->GetItemID() : (uint32) DataStream_SequenceBase::STRUCTURE_START));
	while(item)
	{
		if(item->GetEnabledRecord())
			item->WriteRecordL(GetOutputTarget(target));

		WriteActionL(stepw++, item->GetItemID());

		BOOL is_last_element = (item == stop_after_this ? TRUE : FALSE);

		item = item->Suc();

		if(item && is_last_element)
		{
			DS_Debug_Printf0("------------ Finished Writing Record (1) ------------\n");
			return;
		}
	}
	WriteActionL(stepw++, DataStream_SequenceBase::STRUCTURE_FINISHED);

	DS_Debug_Printf0("------------ Finished Writing Record ------------\n");
}
开发者ID:prestocore,项目名称:browser,代码行数:50,代码来源:fl_list.cpp

示例2: PerformActionL

void DataStream_SequenceBase::PerformActionL(DataStream::DatastreamAction action, uint32 arg1, uint32 arg2)
{
	switch(action)
	{
	case DataStream::KResetRead:
	case DataStream::KResetRecord:
		{
			step = 0;
			current_item = NULL;
			
			DataStream *item = First();
			
			while(item)
			{
				item->PerformActionL(action,arg1, arg2);
				item = item->Suc();
			}
		}
		break;
	case DataStream::KFinishedAdding:
		{
			DataStream *item = First();
			
			while(item)
			{
				if(item->GetEnabledRecord() && !item->Finished())
					item->PerformActionL(DataStream::KFinishedAdding);
				item = item->Suc();
			}
		}
		break;
	case  DataStream::KWriteAction:
		if(arg2 == (uint32) DataStream_SequenceBase::STRUCTURE_START)
		{
			DataStream *item = First();
			while(item)
			{
				item->PerformActionL(DataStream::KWriteAction, 0, (uint32) DataStream_SequenceBase::STRUCTURE_START);
				item = item->Suc();
			}
		}
		break;
	}
	DataStream::PerformActionL(action, arg1, arg2);
}
开发者ID:prestocore,项目名称:browser,代码行数:45,代码来源:fl_list.cpp

示例3: Debug_Write_All_Data

void DataStream_SequenceBase::Debug_Write_All_Data()
{
	DS_DEBUG_Start();
	DS_Debug_Printf0("DataStream_BaseRecord::Debug_Write_All_Data Starting dump\n");
	DataStream *item = First();

	while(item)
	{
		DS_Debug_Printf0("--------- Start item -------\n");
		item->Debug_Write_All_Data();
		DS_Debug_Printf0("--------- End item   -------\n");
		item = item->Suc();
	}
	DS_Debug_Printf0("DataStream_BaseRecord::Debug_Write_All_Data Ending dump\n");
}
开发者ID:prestocore,项目名称:browser,代码行数:15,代码来源:fl_list.cpp

示例4: GetAttribute

uint32	DataStream_SequenceBase::GetAttribute(DataStream::DatastreamUIntAttribute attr)
{
	switch(attr)
	{
	case DataStream::KFinished:
		return !current_item; // Also returns finsihed on non-started items
	case DataStream::KCalculateLength:
		{
			uint32 len = 0;
			
			DataStream *item = First();
			while(item)
			{
				if(item->GetEnabledRecord())
					len += item->CalculateLength();
				item = item->Suc();
			}
		
			return len;
		}
	}
	
	return DataStream::GetAttribute(attr);
}
开发者ID:prestocore,项目名称:browser,代码行数:24,代码来源:fl_list.cpp


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