本文整理汇总了C++中oobase::SharedPtr::reset方法的典型用法代码示例。如果您正苦于以下问题:C++ SharedPtr::reset方法的具体用法?C++ SharedPtr::reset怎么用?C++ SharedPtr::reset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类oobase::SharedPtr
的用法示例。
在下文中一共展示了SharedPtr::reset方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
OOBase::SharedPtr<Indigo::Render::Layer> Indigo::UILayer::create_render_layer(Indigo::Render::Window* window)
{
glm::uvec2 sz(window->window()->size());
if (sz != size())
Indigo::logic_pipe()->call(OOBase::make_delegate<OOBase::ThreadLocalAllocator>(this,&Indigo::UILayer::on_layout),sz);
OOBase::SharedPtr<Indigo::Render::UILayer> group = OOBase::allocate_shared<Indigo::Render::UILayer,OOBase::ThreadLocalAllocator>(window,this,visible(),position(),size());
if (!group)
LOG_ERROR(("Failed to allocate group: %s",OOBase::system_error_text()));
else if (!on_render_create(group.get()))
group.reset();
m_render_parent = group.get();
return OOBase::static_pointer_cast<Indigo::Render::Layer>(group);
}
示例2:
static OOBase::SharedPtr<Indigo::detail::IPC::Queue> register_queue(const char* name)
{
OOBase::SharedPtr<Indigo::detail::IPC::Queue> queue;
PipeTable::table_t::iterator i = PIPE_TABLE::instance().m_queues.find(name);
if (i == PIPE_TABLE::instance().m_queues.end())
{
OOBase::String str;
if (!str.assign(name))
LOG_ERROR_RETURN(("Failed to assign string: %s",OOBase::system_error_text()),queue);
queue = OOBase::allocate_shared<Indigo::detail::IPC::Queue>();
if (!queue)
LOG_ERROR_RETURN(("Failed to allocate queue: %s",OOBase::system_error_text()),queue);
i = PIPE_TABLE::instance().m_queues.insert(str,queue);
if (i == PIPE_TABLE::instance().m_queues.end())
{
LOG_ERROR(("Failed to insert queue: %s",OOBase::system_error_text()));
queue.reset();
}
}
return i->second;
}