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


C++ IVisitor类代码示例

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


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

示例1: traverseSprites

void SpritesPanelImpl::traverseSprites(const std::vector<d2d::ISprite*>& sprites, 
									   IVisitor& visitor, TraverseType type/* = e_allExisting*/,
									   bool order/* = true*/)
{
	if (order)
	{
		std::vector<ISprite*>::const_iterator itr = sprites.begin();
		for ( ; itr != sprites.end(); ++itr)
		{
			bool hasNext;
			visitor.visit(*itr, hasNext);
			if (!hasNext) break;
		}
	}
	else
	{
		std::vector<ISprite*>::const_reverse_iterator itr = sprites.rbegin();
		for ( ; itr != sprites.rend(); ++itr)
		{
			bool hasNext;
			visitor.visit(*itr, hasNext);
			if (!hasNext) break;
		}
	}
}
开发者ID:bigstupidx,项目名称:drag2d,代码行数:25,代码来源:SpritesPanelImpl.cpp

示例2: visitorFunction

enum CXChildVisitResult visitorFunction(
        CXCursor cursor,
        CXCursor parent,
        CXClientData clientData)
{
    IVisitor* visitor = (IVisitor*)clientData;
    return visitor->visit(cursor, parent);
}
开发者ID:gurjeet,项目名称:clang_indexer,代码行数:8,代码来源:clic_add.cpp

示例3: traverseEditableLayers

void LayersMgrWidget::traverseEditableLayers(IVisitor& visitor)
{
	if (m_editedLayer)
	{
		bool hasNext;
		visitor.visit(m_editedLayer, hasNext);
	}
}
开发者ID:xzrunner,项目名称:easyeditor,代码行数:8,代码来源:LayersMgrWidget.cpp

示例4:

void	Scene::ForEach( IVisitor& _Visitor, Node* _pNode )
{
	_Visitor.HandleNode( *_pNode );

	for ( int ChildIndex=0; ChildIndex < _pNode->m_ChildrenCount; ChildIndex++ )
	{
		Node*	pChild = _pNode->m_ppChildren[ChildIndex];
		ForEach( _Visitor, pChild );
	}
}
开发者ID:,项目名称:,代码行数:10,代码来源:

示例5: traverseAllLayers

void LayersMgrWidget::traverseAllLayers(IVisitor& visitor)
{
	std::vector<LayerWidget*>::const_iterator itr = m_layers.begin();
	for ( ; itr != m_layers.end(); ++itr)
	{
		bool hasNext;
		visitor.visit((*itr)->getLayer(), hasNext);
		if (!hasNext) break;
	}
}
开发者ID:xzrunner,项目名称:easyeditor,代码行数:10,代码来源:LayersMgrWidget.cpp

示例6: accept

void CaseBase::accept(IVisitor& visitor)
{
	visitor.visit(*this);
	for (ActionStore::iterator I = mActions.begin(); I != mActions.end(); ++I) {
		(*I)->accept(visitor);
	}
	for (MatchBaseStore::iterator I = mMatches.begin(); I != mMatches.end(); ++I) {
		(*I)->accept(visitor);
	}
}
开发者ID:Arsakes,项目名称:ember,代码行数:10,代码来源:CaseBase.cpp

示例7: Foreach

void CommandTaskResult::Foreach(IVisitor<CommandPointResult>& visitor) const
{
    uint32_t headerIndex = 0;

    for (auto& header : *m_vector)
    {
        auto visit = [&](const CommandState& state) {
            visitor.OnValue(CommandPointResult(headerIndex, state.index, state.state, state.status));
        };

        header->ForeachItem(visit);
        ++headerIndex;
    }
}
开发者ID:automatak,项目名称:dnp3,代码行数:14,代码来源:CommandTaskResult.cpp

示例8: accept

void PngImage::accept(IVisitor<IImage>& visitor) {
	visitor.visit(*this);
}
开发者ID:ibednyakov,项目名称:GeoReferencingLibrary,代码行数:3,代码来源:PngImage.cpp

示例9: accept

void Ingredient::accept(IVisitor& visitor)
{
    visitor.visit(this);
}
开发者ID:WayneZhangWei,项目名称:hfdp-cpp,代码行数:4,代码来源:Ingredient.cpp

示例10: Accept

 virtual void Accept(IVisitor& visitor) const { visitor.Visit(*this); }
开发者ID:PureAbstract,项目名称:CppSandbox,代码行数:1,代码来源:PrivateVisitor.cpp

示例11: Accept

void CScriptCameraHint::Accept(IVisitor& visitor) { visitor.Visit(this); }
开发者ID:AxioDL,项目名称:urde,代码行数:1,代码来源:CScriptCameraHint.cpp

示例12: Accept

 void Accept(IVisitor& v) const { v.Visit(*this); }
开发者ID:PureAbstract,项目名称:CppSandbox,代码行数:1,代码来源:VisitorMatcher.cpp

示例13: accept

void AstConstantDecl::accept(IVisitor &v)
{
	v.visit(*this);
}
开发者ID:mark-korotkov,项目名称:Backslash,代码行数:4,代码来源:Ast.cpp

示例14: visit

void Raw::visit(IVisitor& visitor)
{
    visitor.visitRaw(*this);
}
开发者ID:etrange02,项目名称:awservice,代码行数:4,代码来源:Raw.cpp

示例15: Accept

void CRectangle::Accept(IVisitor & visitor)
{
	visitor.Visit(*this);
}
开发者ID:Dzzirt,项目名称:OOP,代码行数:4,代码来源:Rectangle.cpp


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