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)) && \
148 : internal::PointerBase<internal::PointerMemberTraits<O> > {
149 typedef internal::PointerBase<internal::PointerMemberTraits<O> > P;
164 #if (defined(BOOST_NO_CXX11_NULLPTR) || defined(BOOST_NO_NULLPTR)) && \
204 struct OwnerPointer : internal::PointerBase<internal::PointerMemberTraits<O> > {
205 typedef internal::PointerBase<internal::PointerMemberTraits<O> > P;
211 IMPBASE_DEPRECATED_VALUE_DECL(2.1)
223 #if (defined(BOOST_NO_CXX11_NULLPTR) || defined(BOOST_NO_NULLPTR)) && \
225 base::OwnerPointer<O>& operator=(nullptr_t o) {
230 base::OwnerPointer<O>& operator=(
const P& o) {
252 #if !defined(IMP_DOXYGEN) && !defined(SWIG)
254 inline std::ostream& operator<<(std::ostream& out, base::Pointer<T> o) {
255 out << Showable(o.get());
259 inline std::ostream& operator<<(std::ostream& out, base::PointerMember<T> o) {
260 out << Showable(o.get());
265 inline std::ostream& operator<<(std::ostream& out, base::OwnerPointer<T> o) {
266 out << Showable(o.get());
271 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.