# ByteBufferRegion

Artifact: [androidx.xr.scenecore:scenecore](https://developer.android.com/jetpack/androidx/releases/xr-scenecore) [View Source](https://cs.android.com/search?q=file:androidx/xr/scenecore/ByteBufferRegion.kt+class:androidx.xr.scenecore.ByteBufferRegion) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.0.0)

*** ** * ** ***


```
public final class ByteBufferRegion
```

<br />

*** ** * ** ***

A container holding a reference to a `https://developer.android.com/reference/java/nio/ByteBuffer.html`, along with an offset and size.

This is used to define a specific slice or region within a buffer.

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if `offset` or `size` is negative, or if `offset + size` exceeds `buffer.capacity()`. |

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/xr/scenecore/ByteBufferRegion#ByteBufferRegion(java.nio.ByteBuffer,kotlin.Int,kotlin.Int)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/nio/ByteBuffer.html buffer, @https://developer.android.com/reference/androidx/annotation/IntRange(from = 0) int offset, @https://developer.android.com/reference/androidx/annotation/IntRange(from = 0) int size )` |

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/xr/scenecore/ByteBufferRegion#equals(kotlin.Any)(https://developer.android.com/reference/java/lang/Object.html other)` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/nio/ByteBuffer.html` | `https://developer.android.com/reference/androidx/xr/scenecore/ByteBufferRegion#getBuffer()()` containing the data |
| `final int` | `https://developer.android.com/reference/androidx/xr/scenecore/ByteBufferRegion#getOffset()()` starting position within the buffer in bytes |
| `final int` | `https://developer.android.com/reference/androidx/xr/scenecore/ByteBufferRegion#getSize()()` number of bytes in the region |
| `int` | `https://developer.android.com/reference/androidx/xr/scenecore/ByteBufferRegion#hashCode()()` |

## Public constructors

### ByteBufferRegion

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.0.0)

```
public ByteBufferRegion(
    @NonNull ByteBuffer buffer,
    @IntRange(from = 0) int offset,
    @IntRange(from = 0) int size
)
```

## Public methods

### equals

```
public boolean equals(Object other)
```

### getBuffer

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.0.0)

```
public final @NonNull ByteBuffer getBuffer()
```

containing the data

### getOffset

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.0.0)

```
public final int getOffset()
```

starting position within the buffer in bytes

### getSize

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-scenecore#1.0.0)

```
public final int getSize()
```

number of bytes in the region

### hashCode

```
public int hashCode()
```