template <class T> class os_soft_pointer64 : public os_soft_pointer64_baseObjectStore provides several soft pointer classes, but usually your code should refer only to instantiations of the class template os_soft_pointer<T>, such as os_soft_pointer<employee>. The template parameter is the referent type, the type of object referred to by the soft pointer. See the entry for the macro os_soft_pointer.
Instances of this class are ObjectStore soft pointers for 64-bit platforms. Soft pointers provide an alternative to using regular pointers to persistent memory. Soft pointers reduce address space usage by deferring the reservation of address space for the soft pointer's referent until the soft pointer is dereferenced. See the Advanced C++ API User Guide.
If you use a soft pointer type whose referent type is not a class, you must call the macro OS_SOFT_POINTER64_NOCLASS(), passing the referent type.
If a soft pointer refers to an object in a database that is not open, ObjectStore opens the database automatically when the object is accessed (unless the autoopen mode is auto_open_disable). The mode in which the database is opened is determined by the value of objectstore::get_auto_open_mode().
os_soft_pointer64<T>::operator =()
os_soft_pointer64<T> &operator =(
const os_soft_pointer64<T> const &
);
os_soft_pointer64<T> &operator =(
const os_soft_pointer32<T> const &
);
Establishes the referent of the right operand as the referent of the left operand.
os_soft_pointer64<T> &operator =(T*);Establishes the object pointed to by the right operand as the referent of the left operand. If the right operand is 0, the left operand becomes a null soft pointer.
operator T*() const;Returns a hard pointer with the same referent as the this soft pointer. Returns 0 if this is a null soft pointer.
T* operator ->() const;Returns a hard pointer with the same referent as the this soft pointer. Returns 0 if this is a null soft pointer.
os_soft_pointer64();Constructs a null soft pointer.
os_soft_pointer64(T* hard_ptr);Constructs a soft pointer with the same referent as the specifed hard pointer. If hard_ptr is 0, constructs a null soft pointer.
os_soft_pointer64(os_soft_pointer64<T> const& soft_ptr); os_soft_pointer64(os_soft_pointer32<T> const& soft_ptr);Constructs a soft pointer with the same referent as the specifed soft pointer. If the specified soft pointer is null, constructs a null soft pointer.
T *resolve() const;Returns a hard pointer with the same referent as the this soft pointer. Returns 0 if this is a null soft pointer.
Updated: 03/15/99 16:41:22