# gvr::WrapperBase

`#include <gvr_types.h>`

Base class for all C++ wrapper objects.

## Summary

| ### Constructors and Destructors ||
|---|---|
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base_1a719b5bb3af8845ed01ba178ae35d6200(WrappedType *cobject)` Initializes a wrapper that holds a C object. ||
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base_1acc418dded94e3d0506b1c940a02bb970(https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base && other)` ||
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base_1a6374058b8513939ef2665a43f0b734c8(const https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base &)` ||
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base_1a8af405555dbf161b4e0b3c2149f161d2()` ||

| ### Protected attributes ||
|---|---|
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base_1a9ad323ad428dd01b1a27c4335486fd2c` | `WrappedType *` |

| ### Public functions ||
|---|---|
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base_1afdc3102922a7222eeb3cc067d364b544()` | `WrappedType *` Returns the wrapped C object. Does not affect ownership. |
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base_1a05a9e9b968c5af4b391b3a6cc635745f() const ` | `const WrappedType *` |
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base_1a2cab548cbc3db1a70dc96c8ab8f90f4a() const ` | ` `` Returns true if the wrapper holds an object. ` |
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base_1ad66f367a80e385d9ed9dd3499f2e59cf(https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base && other)` | `https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base &` |
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base_1ae702d573bb8d0cc6436743010cb21d45(const https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base &)=delete` | `void` |
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base#classgvr_1_1_wrapper_base_1a32d4d80350f27851f541aa3b81a2cb73()` | `WrappedType *` Returns the wrapped C object and transfers its ownership to the caller. |

## Protected attributes

### cobject_

```
WrappedType * cobject_
```

## Public functions

### WrapperBase

```
 WrapperBase(
  WrappedType *cobject
)
```
Initializes a wrapper that holds a C object.

### WrapperBase

```
 WrapperBase(
  WrapperBase && other
)
```

### WrapperBase

```
 WrapperBase(
  const WrapperBase &
)=delete
```

### cobj

```
WrappedType * cobj()
```
Returns the wrapped C object. Does not affect ownership.

### cobj

```
const WrappedType * cobj() const 
```

### operator bool

```
 operator bool() const 
```
Returns true if the wrapper holds an object.

### operator=

```
WrapperBase & operator=(
  WrapperBase && other
)
```

### operator=

```
void operator=(
  const WrapperBase &
)=delete
```

### release

```
WrappedType * release()
```
Returns the wrapped C object and transfers its ownership to the caller.

The wrapper becomes invalid and should not be used.

### \~WrapperBase

```
 ~WrapperBase()
```