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


C++ Visitor::add方法代码示例

本文整理汇总了C++中Visitor::add方法的典型用法代码示例。如果您正苦于以下问题:C++ Visitor::add方法的具体用法?C++ Visitor::add怎么用?C++ Visitor::add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Visitor的用法示例。


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

示例1: processSimpleRelation

 /// Parses relation as simple relation with non-relation children. If child is single, then
 /// calls visitor with this child instead of relation.
 void processSimpleRelation(Visitor &visitor, std::uint32_t featureId, const ptree &feature) const {
   auto relation = parseRelation(featureId, feature.get_child("geometry.coordinates"));
   if (relation.elements.size()==1) {
     parseProperties(*relation.elements[0], featureId, feature.get_child("properties"));
     visitor.add(*relation.elements[0]);
   } else {
     parseProperties(relation, featureId, feature.get_child("properties"));
     visitor.add(relation);
   }
 }
开发者ID:reinterpretcat,项目名称:utymap,代码行数:12,代码来源:OsmJsonParser.hpp

示例2: for_each_gridpoint

inline void for_each_gridpoint (
        const protobuf::HyperPrior::GammaPoisson & grid,
        Visitor & visitor)
{
    for (auto alpha : grid.alpha()) {
        visitor.add().alpha = alpha;
    }
    visitor.done();

    for (auto inv_beta : grid.inv_beta()) {
        visitor.add().inv_beta = inv_beta;
    }
    visitor.done();
}
开发者ID:adammendoza,项目名称:loom,代码行数:14,代码来源:hyper_prior.hpp

示例3: parseMultiPolygon

 /// Parses relation with relations from multipolygon and notifies visitor.
 void parseMultiPolygon(Visitor &visitor, std::uint32_t featureId, const ptree &feature) const {
   utymap::entities::Relation relation;
   parseProperties(relation, featureId, feature.get_child("properties"));
   for (const ptree::value_type &geometry : feature.get_child("geometry.coordinates")) {
     auto child = parseRelation(featureId, geometry.second);
     if (child.elements.size()==1) {
       FoldRelation fold;
       child.elements[0]->accept(fold);
       relation.elements.push_back(fold.element);
     } else {
       relation.elements.push_back(std::make_shared<utymap::entities::Relation>(child));
     }
   }
   visitor.add(relation);
 }
开发者ID:reinterpretcat,项目名称:utymap,代码行数:16,代码来源:OsmJsonParser.hpp

示例4: parsePoint

 /// Parses node from point and notifies visitor.
 void parsePoint(Visitor &visitor, std::uint32_t featureId, const ptree &feature) const {
   utymap::entities::Node node;
   parseProperties(node, featureId, feature.get_child("properties"));
   node.coordinate = parseCoordinate(feature.get_child("geometry.coordinates"));
   visitor.add(node);
 }
开发者ID:reinterpretcat,项目名称:utymap,代码行数:7,代码来源:OsmJsonParser.hpp

示例5: parseLineString

 /// Parses way from line string and notifies visitor.
 void parseLineString(Visitor &visitor, std::uint32_t featureId, const ptree &feature) const {
   utymap::entities::Way way;
   parseProperties(way, featureId, feature.get_child("properties"));
   way.coordinates = parseCoordinates(feature.get_child("geometry.coordinates"));
   visitor.add(way);
 }
开发者ID:reinterpretcat,项目名称:utymap,代码行数:7,代码来源:OsmJsonParser.hpp


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