• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ context_guard函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: context_guard

void madara::knowledge::containers::FlexMap::set_name(
    const std::string& var_name, KnowledgeBase& knowledge)
{
  if (context_ != &(knowledge.get_context()) || name_ != var_name)
  {
    context_ = &(knowledge.get_context());

    ContextGuard context_guard(*context_);
    MADARA_GUARD_TYPE guard(mutex_);

    name_ = var_name;

    if (context_->exists(var_name, settings_))
    {
      KnowledgeUpdateSettings keep_local(true);

      variable_ = context_->get_ref(var_name, keep_local);
    }
    else
    {
      // reset variable reference
      variable_ = VariableReference();
    }
  }
}
开发者ID:jredmondson,项目名称:madara,代码行数:25,代码来源:FlexMap.cpp


示例2: result

bool madara::knowledge::containers::FlexMap::exists(
    const std::string& key, bool first_level_key) const
{
  bool result(false);

  if (context_)
  {
    ContextGuard context_guard(*context_);
    MADARA_GUARD_TYPE guard(mutex_);

    // check if the key exists
    std::string exact_key = name_ + delimiter_ + key;
    result = context_->exists(exact_key);

    if (!result && first_level_key)
    {
      std::vector<std::string> curkeys;
      keys(curkeys);

      std::vector<std::string>::iterator found;

      // look for the key in the sub keys
      found = std::find(curkeys.begin(), curkeys.end(), key);

      result = found != curkeys.end();
    }
  }

  return result;
}
开发者ID:jredmondson,项目名称:madara,代码行数:30,代码来源:FlexMap.cpp


示例3: render_sub_pass

  void NormalizationSubRenderer::
  render_sub_pass(Pipeline& pipe, PipelinePassDescription const& desc,
  				  gua::plod_shared_resources& shared_resources,
  				  std::vector<node::Node*>& sorted_models,
                  std::unordered_map<node::PLodNode*, std::unordered_set<lamure::node_t> >& nodes_in_frustum_per_model,
                  lamure::context_t context_id,
  				  lamure::view_t lamure_view_id
  				  ) {


  	RenderContext const& ctx(pipe.get_context());
    auto& target = *pipe.current_viewstate().target;

    scm::gl::context_all_guard context_guard(ctx.render_context);

	  _check_for_shader_program();

	  assert(shader_program_);


    if(!fullscreen_quad_) {
      fullscreen_quad_.reset(new scm::gl::quad_geometry(ctx.render_device, 
                                                scm::math::vec2(-1.0f, -1.0f), scm::math::vec2(1.0f, 1.0f )));
    }
    bool write_depth = true;
    target.bind(ctx, write_depth);



    std::string const gpu_query_name_normalization_pass = "GPU: Camera uuid: " + std::to_string(pipe.current_viewstate().viewpoint_uuid) + " / PLodRenderer::NormalizationPass";
    pipe.begin_gpu_query(ctx, gpu_query_name_normalization_pass);


    shader_program_->use(ctx);
    {

      _upload_normalization_pass_uniforms(ctx, shared_resources);
      
      ctx.render_context->apply();

      fullscreen_quad_->draw(ctx.render_context);
    }
    shader_program_->unuse(ctx);

    target.unbind(ctx);

    pipe.end_gpu_query(ctx, gpu_query_name_normalization_pass);
  }
开发者ID:AnimationInVR,项目名称:guacamole,代码行数:48,代码来源:NormalizationSubRenderer.cpp


示例4: map

madara::knowledge::containers::FlexMap madara::knowledge::containers::FlexMap::
operator[](const std::string& key)
{
  FlexMap map(settings_, delimiter_);

  if (key != "" && context_)
  {
    ContextGuard context_guard(*context_);
    MADARA_GUARD_TYPE guard(mutex_);

    KnowledgeBase knowledge;
    knowledge.facade_for(*context_);
    map.set_name(name_ + delimiter_ + key, knowledge);
  }

  return map;
}
开发者ID:jredmondson,项目名称:madara,代码行数:17,代码来源:FlexMap.cpp



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ context_new函数代码示例发布时间:2022-05-30
下一篇:
C++ context_free函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap