本文整理汇总了C++中boost::intrusive_ptr::reset方法的典型用法代码示例。如果您正苦于以下问题:C++ intrusive_ptr::reset方法的具体用法?C++ intrusive_ptr::reset怎么用?C++ intrusive_ptr::reset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类boost::intrusive_ptr
的用法示例。
在下文中一共展示了intrusive_ptr::reset方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
//typename boost::enable_if<typename intrusive_traits<T>::user_allocator>::type
void
intrusive_make_valid_unique(boost::intrusive_ptr<T> & p)
{
if (!p)
p.reset(construct<typename intrusive_traits<T>::user_allocator,T>());
else if (!p->unique())
p.reset(intrusive_clone(*p));
}
示例2: load
inline void load(Archive& ar, boost::intrusive_ptr<T>& t,
const unsigned int)
{
// The most common cause of trapping here would be serializing
// something like intrusive_ptr<int>. This occurs because int
// is never tracked by default. Wrap int in a trackable type
BOOST_STATIC_ASSERT((tracking_level<T>::value != track_never));
T* ptr;
ar >> ptr;
t.reset(ptr);
}
示例3: intrusive_make_unique
//enable_if ...
void intrusive_make_unique(boost::intrusive_ptr<T> & p)
{
assert(p);
if (!p->unique())
p.reset(intrusive_clone(*p));
}
示例4:
MyIndexIterForward(const SeqNumIndex* owner) {
m_index.reset(const_cast<SeqNumIndex*>(owner));
m_curr = 0;
}