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-36 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 RefAnyfrom a session pointer and a reference. | 
| RefAny( const RefAny& src); | Creates a RefAnyas a copy of anotherRefAnyobject. | 
| Parameter | Description | 
|---|---|
| sessptr | Session pointer | 
| ref | A reference | 
| src | The source RefAnyobject 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 | RefAnyobject 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 | RefAnyobject to which the comparison is made. | 
This method unmarks the referred object as dirty.
void unmarkDelete();