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();