9 #ifndef IMPBASE_POINTER_H
10 #define IMPBASE_POINTER_H
12 #include <IMP/base/base_config.h>
13 #include "internal/PointerBase.h"
16 IMPBASE_BEGIN_NAMESPACE
87 struct Pointer : internal::PointerBase<internal::RefCountedPointerTraits<O> > {
88 typedef internal::PointerBase<internal::RefCountedPointerTraits<O> > P;
103 #if defined(BOOST_NO_CXX11_NULLPTR) || defined(BOOST_NO_NULLPTR)
147 : internal::PointerBase<internal::PointerMemberTraits<O> > {
148 typedef internal::PointerBase<internal::PointerMemberTraits<O> > P;
163 #if defined(BOOST_NO_CXX11_NULLPTR) || defined(BOOST_NO_NULLPTR)
202 struct OwnerPointer : internal::PointerBase<internal::PointerMemberTraits<O> > {
203 typedef internal::PointerBase<internal::PointerMemberTraits<O> > P;
209 IMPBASE_DEPRECATED_VALUE_DECL(2.1)
221 #if defined(BOOST_NO_CXX11_NULLPTR) || defined(BOOST_NO_NULLPTR)
222 base::OwnerPointer<O>& operator=(nullptr_t o) {
227 base::OwnerPointer<O>& operator=(
const P& o) {
249 #if !defined(IMP_DOXYGEN) && !defined(SWIG)
251 inline std::ostream& operator<<(std::ostream& out, base::Pointer<T> o) {
252 out << Showable(o.get());
256 inline std::ostream& operator<<(std::ostream& out, base::PointerMember<T> o) {
257 out << Showable(o.get());
262 inline std::ostream& operator<<(std::ostream& out, base::OwnerPointer<T> o) {
263 out << Showable(o.get());
268 IMPBASE_END_NAMESPACE
A smart pointer to a ref-counted Object that is a class memeber.
A smart pointer to a reference counted object.
A reference counted pointer to an Object.
A nullptr-initialized pointer to an Object.