26 class Some :
protected std::shared_ptr<T>
30 Some(
const std::shared_ptr<T>& shared);
31 Some(
const Some<T>& other);
32 Some(Some<T>&& other);
33 Some& operator=(
const Some<T>& other);
47 using std::shared_ptr<T>::get;
51 Some<T>::Some(
const std::shared_ptr<T>& shared)
52 :
std::shared_ptr<T>(shared)
56 Some<T>::Some(
const Some<T>& other)
57 :
std::shared_ptr<T>(other)
61 Some<T>::Some(Some<T>&& other)
62 :
std::shared_ptr<T>(other)
70 Some<T>::operator T*()
77 T* Some<T>::operator->()
93 template <
typename T,
class... Args>
94 Some<T> some(Args&&... args)
96 T* ptr =
new T(args...);
98 return std::shared_ptr<T>(ptr, [](T* p) {
SG_UNREF(p); });
all of classes and functions are contained in the shogun namespace