本文整理汇总了C++中ContainerNode::node方法的典型用法代码示例。如果您正苦于以下问题:C++ ContainerNode::node方法的具体用法?C++ ContainerNode::node怎么用?C++ ContainerNode::node使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ContainerNode
的用法示例。
在下文中一共展示了ContainerNode::node方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getNodeByModelPath
Node* DesktopNode::getNodeByModelPath(const ModelPath &path)
{
if (path.size() <= 0)
{
return 0;
}
string root_path = path.front();
if (root_path != absolutePath())
{
return 0;
}
Node* node = this;
for (int i = 1; i < path.size(); i++)
{
if (node == 0)
{
return 0;
}
ContainerNode* container = dynamic_cast<ContainerNode*>(node);
if (container != 0)
{
node = container->node(path[i]).get();
}
else if (i < path.size() - 1)
{
return 0;
}
}
return node;
}
示例2: cdPath
bool BookStoreFileSystemTree::cdPath(const ModelPath& path)
{
if (path.size() <= 0)
{
return false;
}
string root_path = path.front();
if (root_path != root_node_.absolutePath())
{
return false;
}
Node* node = &root_node_;
for (int i = 1; i < path.size(); i++)
{
if (node == 0)
{
return false;
}
ContainerNode* container = dynamic_cast<ContainerNode*>(node);
if (container != 0)
{
node = container->node(path[i]).get();
}
else
{
return false;
}
}
ContainerNode* current_node = dynamic_cast<ContainerNode*>(node);
if (current_node != 0)
{
setCurrentNode(current_node);
return true;
}
return false;
}