本文整理汇总了C++中DrgPul::AddRef方法的典型用法代码示例。如果您正苦于以下问题:C++ DrgPul::AddRef方法的具体用法?C++ DrgPul::AddRef怎么用?C++ DrgPul::AddRef使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DrgPul
的用法示例。
在下文中一共展示了DrgPul::AddRef方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CDXLNode
//---------------------------------------------------------------------------
// @function:
// CParseHandlerAgg::EndElement
//
// @doc:
// Invoked by Xerces to process a closing tag
//
//---------------------------------------------------------------------------
void
CParseHandlerAgg::EndElement
(
const XMLCh* const, // xmlszUri,
const XMLCh* const xmlszLocalname,
const XMLCh* const // xmlszQname
)
{
if(0 != XMLString::compareString(CDXLTokens::XmlstrToken(EdxltokenPhysicalAggregate), xmlszLocalname))
{
CWStringDynamic *pstr = CDXLUtils::PstrFromXMLCh(m_pphm->Pmm(), xmlszLocalname);
GPOS_RAISE(gpdxl::ExmaDXL, gpdxl::ExmiDXLUnexpectedTag, pstr->Wsz());
}
// construct node from the created child nodes
GPOS_ASSERT(5 == this->UlLength());
CParseHandlerProperties *pphProp = dynamic_cast<CParseHandlerProperties *>((*this)[0]);
CParseHandlerGroupingColList *pphGrpColList = dynamic_cast<CParseHandlerGroupingColList*>((*this)[1]);
CParseHandlerProjList *pphPrL = dynamic_cast<CParseHandlerProjList*>((*this)[2]);
CParseHandlerFilter *pphFilter = dynamic_cast<CParseHandlerFilter *>((*this)[3]);
CParseHandlerPhysicalOp *pphChild = dynamic_cast<CParseHandlerPhysicalOp *>((*this)[4]);
// set grouping cols list
GPOS_ASSERT(NULL != pphGrpColList->PdrgpulGroupingCols());
DrgPul *pdrgpul = pphGrpColList->PdrgpulGroupingCols();
pdrgpul->AddRef();
m_pdxlop->SetGroupingCols(pdrgpul);
m_pdxln = GPOS_NEW(m_pmp) CDXLNode(m_pmp, m_pdxlop);
// set physical properties
CParseHandlerUtils::SetProperties(m_pdxln, pphProp);
// add children
AddChildFromParseHandler(pphPrL);
AddChildFromParseHandler(pphFilter);
AddChildFromParseHandler(pphChild);
// deactivate handler
m_pphm->DeactivateHandler();
}