13 #include "atlas/library/config.h" 32 if ( object_ != other.object_ ) {
38 operator bool()
const {
return object_ !=
nullptr; }
40 void reset(
const Object* other ) {
41 if ( object_ != other ) {
53 void assign(
const Object* other );
57 bool null()
const {
return ( object_ ==
nullptr ); }
66 using Implementation = T;
74 reset( handle.get() );
77 ATLAS_ALWAYS_INLINE T*
get() {
return reinterpret_cast<T*
>( object_ ); }
78 ATLAS_ALWAYS_INLINE
const T*
get()
const {
return reinterpret_cast<const T*
>( object_ ); }
79 ATLAS_ALWAYS_INLINE
const T* operator->()
const {
return get(); }
80 ATLAS_ALWAYS_INLINE T* operator->() {
return get(); }
81 ATLAS_ALWAYS_INLINE
const T& operator*()
const {
return *
get(); }
82 ATLAS_ALWAYS_INLINE T& operator*() {
return *
get(); }
83 ATLAS_ALWAYS_INLINE
void reset(
const T*
object ) {
84 ObjectHandleBase::reset( reinterpret_cast<const Object*>(
object ) );
Definition: ObjectHandle.h:20
Contains all atlas classes and methods.
Definition: atlas-grids.cc:33
Definition: ObjectHandle.h:64