本文整理汇总了C++中Holder::is_valid方法的典型用法代码示例。如果您正苦于以下问题:C++ Holder::is_valid方法的具体用法?C++ Holder::is_valid怎么用?C++ Holder::is_valid使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Holder
的用法示例。
在下文中一共展示了Holder::is_valid方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setStatus
void StatusManager::setStatus(const QString& name, Holder holder)
{
Holder older(status(name));
if (holder.is_valid() && older.is_valid())
{
using namespace ::gsim::core::utils;
Holder newer(older.clone());
// Hace una copia 'reflectiva' ya que holder puede no ser
// del mismo tipo que el tipo del estado.
reflective_copy(holder, newer);
// Region protegida reducida al mínimo
if (applyStatus(name, older, newer))
{
unique_lock lock(m_data->messageMutex);
m_data->status[name] = newer;
// Ha de estar dentro de la región protegida para la
// notificación en orden
emit statusChanged(name, newer);
emit statusChanged(name, older, newer);
}
}
}
示例2: status
Holder StatusManager::status(const QString& name)
{
Holder res (statusRef(name));
// Devuelve siempre una copìa
if (res.is_valid())
{
res = Holder(res.clone());
}
return res;
}