本文整理汇总了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");
}
示例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);
}
示例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");
}
示例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);
}