xgboost
|
侵入式指针 (Intrusive Ptr) 的实现。更多...
#include <atomic>
#include <cinttypes>
#include <functional>
#include <ostream>
类 | |
class | xgboost::IntrusivePtrCell |
用于将引用计数嵌入到客户端对象的辅助类。有关内存顺序的讨论,请参见 https://boost.ac.cn/doc/libs/1_74_0/doc/html/atomic/usage_examples.html。更多... | |
class | xgboost::IntrusivePtr< T > |
侵入式指针 (Intrusive Pointer) 的实现。一个智能指针,指向带有嵌入式引用计数器的对象。底层对象必须实现一个友元函数 IntrusivePtrRefCount(),该函数返回引用计数器(类型为 IntrusivePtrCell)。侵入式指针比 std::shared_ptr<> 更快:std::shared_ptr<> 会为引用计数器额外分配内存,而侵入式指针则不会。更多... | |
struct | xgboost::IntrusivePtr< T >::Hash |
struct | std::hash< xgboost::IntrusivePtr< T > > |
命名空间 | |
xgboost | |
多目标树的核心数据结构。 | |
std | |
函数 | |
template<typename T > | |
IntrusivePtrCell & | xgboost::IntrusivePtrRefCount (T const *ptr) noexcept |
用于返回嵌入式引用计数的用户定义函数。更多... | |
template<class T , class U > | |
bool | xgboost::operator== (IntrusivePtr< T > const &x, IntrusivePtr< U > const &y) noexcept |
template<class T , class U > | |
bool | xgboost::operator!= (IntrusivePtr< T > const &x, IntrusivePtr< U > const &y) noexcept |
template<class T , class U > | |
bool | xgboost::operator== (IntrusivePtr< T > const &x, U *y) noexcept |
template<class T , class U > | |
bool | xgboost::operator!= (IntrusivePtr< T > const &x, U *y) noexcept |
template<class T , class U > | |
bool | xgboost::operator== (T *x, IntrusivePtr< U > const &y) noexcept |
template<class T , class U > | |
bool | xgboost::operator!= (T *x, IntrusivePtr< U > const &y) noexcept |
template<class T > | |
bool | xgboost::operator< (IntrusivePtr< T > const &x, IntrusivePtr< T > const &y) noexcept |
template<class T > | |
bool | xgboost::operator<= (IntrusivePtr< T > const &x, IntrusivePtr< T > const &y) noexcept |
template<class T > | |
bool | xgboost::operator> (IntrusivePtr< T > const &x, IntrusivePtr< T > const &y) noexcept |
template<class T > | |
bool | xgboost::operator>= (IntrusivePtr< T > const &x, IntrusivePtr< T > const &y) noexcept |
template<class E , class T , class Y > | |
std::basic_ostream< E, T > & | xgboost::operator<< (std::basic_ostream< E, T > &os, IntrusivePtr< Y > const &p) |
template<class T > | |
void | std::swap (xgboost::IntrusivePtr< T > &x, xgboost::IntrusivePtr< T > &y) noexcept |
侵入式指针 (Intrusive Ptr) 的实现。
版权所有 (c) Contributors 2020