The RefAny
class is designed to support a reference to any type. Its primary purpose is to handle generic references and allow conversions of Ref
in the type hierarchy. A RefAny
object can be used as an intermediary between any two types, Ref<
x
>
and Ref<
y
>
, where x
and y
are different types.
Table 13-37 Summary of RefAny Methods
Method | Summary |
---|---|
Constructor for |
|
Clears the reference. |
|
Returns the connection this ref was created from. |
|
Checks if the |
|
Marks the object as deleted. |
|
Assignment operator for |
|
Checks if this |
|
Checks if not equal. |
|
Unmarks the object as deleted. |
A Ref<T>
can always be converted to a RefAny
; there is a method to perform the conversion in the Ref<T>
template. Each Ref<T>
has a constructor and assignment operator that takes a reference to RefAny
.
Syntax | Description |
---|---|
RefAny(); |
Creates a NULL RefAny . |
RefAny( const Connection *sessptr, const OCIRef *ref); |
Creates a RefAny from a session pointer and a reference. |
RefAny( const RefAny& src); |
Creates a RefAny as a copy of another RefAny object. |
Parameter | Description |
---|---|
sessptr |
Session pointer |
ref |
A reference |
src |
The source RefAny object to be assigned |
This method clears the reference.
void clear();
Returns the connection from which this reference was instantiated.
const Connection* getConnection() const;
Returns TRUE
if the object pointed to by this ref is NULL
else FALSE
.
bool isNull() const;
This method marks the referred object as deleted.
void markDelete();
Assignment operator for RefAny
.
RefAny& operator=( const RefAny& src);
Parameter | Description |
---|---|
src |
The source RefAny object to be assigned. |
Compares this ref
with a RefAny
object and returns TRUE
if both the refs are referring to the same object in the cache, otherwise it returns FALSE
.
bool operator== ( const RefAny &refAnyR) const;
Parameter | Description |
---|---|
refAnyR |
RefAny object to which the comparison is made. |
Compares this ref with the RefAny object and returns TRUE
if both the refs are not referring to the same object in the cache, otherwise it returns FALSE
.
bool operator!= ( const RefAny &refAnyR) const;
Parameter | Description |
---|---|
refAnyR |
RefAny object to which the comparison is made. |
This method unmarks the referred object as dirty.
void unmarkDelete();