本文整理汇总了C++中shared_ptr::AddForwardConcept方法的典型用法代码示例。如果您正苦于以下问题:C++ shared_ptr::AddForwardConcept方法的具体用法?C++ shared_ptr::AddForwardConcept怎么用?C++ shared_ptr::AddForwardConcept使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类shared_ptr
的用法示例。
在下文中一共展示了shared_ptr::AddForwardConcept方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddConnectionToConcept
void ConceptDatabase::AddConnectionToConcept(const CommonTool::DBRow& row, shared_ptr<Concept> concept)
{
if (!row.HasColumn(NonBaseConceptField::Connection)) return;
auto connectionStr = row.GetText(NonBaseConceptField::Connection);
auto connectionIDs = SplitString(connectionStr, ' ');//There may be many connections.
for (auto id : connectionIDs)
{
//There must be only one row.
auto row = GetRow(id, ConceptConnectionField::ConnectionID,ConceptConnectionTable);
//Get 'to concept'.
auto to_conceptID = row.GetText(ConceptConnectionField::ToConcept);
auto toConceptRow = GetRowInConceptTables(to_conceptID);
auto to_ID = toConceptRow.GetLong(NonBaseConceptField::ID);
auto to_Word = toConceptRow.GetText(NonBaseConceptField::Word);
//Recursively get toConcept as it may depend on other concepts.
//Recursion will stop when the current concept is a base concept which depends nothing.
auto to_Concept = GetConcept(to_Word, to_ID);
concept->AddForwardConcept(to_Concept);
//Add modification.
auto modStr = row.GetText(ConceptConnectionField::Modification);
if (modStr != "")
{
auto modTable = ConvertModStringToConceptTable(modStr);
concept->AddForwardModification(to_Concept, modTable);
}
}
}