blob: 215b4359bc1e96fd702e7c719d4b70ce79ebee7e [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_162) on Tue Dec 04 17:15:14 PST 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>WritableBuffer (com.yahoo.datasketches:memory 0.12.1 API)</title>
<meta name="date" content="2018-12-04">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="WritableBuffer (com.yahoo.datasketches:memory 0.12.1 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":10,"i2":6,"i3":10,"i4":10,"i5":6,"i6":6,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":9,"i14":9,"i15":9,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":10,"i52":9,"i53":9,"i54":6,"i55":6,"i56":6,"i57":6,"i58":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="../../../com/yahoo/memory/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/WritableBuffer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../com/yahoo/memory/Util.RandomCodePoints.html" title="class in com.yahoo.memory"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../com/yahoo/memory/WritableDirectHandle.html" title="class in com.yahoo.memory"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?com/yahoo/memory/WritableBuffer.html" target="_top">Frames</a></li>
<li><a href="WritableBuffer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.yahoo.memory</div>
<h2 title="Class WritableBuffer" class="title">Class WritableBuffer</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../com/yahoo/memory/BaseBuffer.html" title="class in com.yahoo.memory">com.yahoo.memory.BaseBuffer</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">com.yahoo.memory.Buffer</a></li>
<li>
<ul class="inheritance">
<li>com.yahoo.memory.WritableBuffer</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">WritableBuffer</span>
extends <a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a></pre>
<div class="block">Provides read and write, positional primitive and primitive array access to any of the four
resources mentioned at the package level.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Roman Leventov, Lee Rhodes</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../com/yahoo/memory/WritableMemory.html" title="class in com.yahoo.memory">WritableMemory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#asWritableMemory--">asWritableMemory</a></span>()</code>
<div class="block">Convert this WritableBuffer to a WritableMemory.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#checkValidAndBounds-long-long-">checkValidAndBounds</a></span>(long&nbsp;offsetBytes,
long&nbsp;lengthBytes)</code>
<div class="block">Checks that the specified range of bytes is within bounds of this object, throws
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang"><code>IllegalArgumentException</code></a> if it's not: i.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#clear--">clear</a></span>()</code>
<div class="block">Clears all bytes of this Buffer from position to end to zero.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;that)</code>
<div class="block">Returns true if the given object is an instance of this class and has equal data contents.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#equalTo-long-java.lang.Object-long-long-">equalTo</a></span>(long&nbsp;thisOffsetBytes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;that,
long&nbsp;thatOffsetBytes,
long&nbsp;lengthBytes)</code>
<div class="block">Returns true if the given object is an instance of this class and has equal contents to
this object in the given range of bytes.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#fill-byte-">fill</a></span>(byte&nbsp;value)</code>
<div class="block">Fills this Buffer from position to end with the given byte value.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#getArray--">getArray</a></span>()</code>
<div class="block">Returns the primitive backing array, otherwise null.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#getByteBuffer--">getByteBuffer</a></span>()</code>
<div class="block">Gets the backing ByteBuffer if it exists, otherwise returns null.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteOrder.html?is-external=true" title="class or interface in java.nio">ByteOrder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#getByteOrder--">getByteOrder</a></span>()</code>
<div class="block">Gets the current ByteOrder.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#getCapacity--">getCapacity</a></span>()</code>
<div class="block">Gets the capacity of this object in bytes</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#getCumulativeOffset--">getCumulativeOffset</a></span>()</code>
<div class="block">Gets the cumulative offset in bytes of this object from the backing resource.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#getCumulativeOffset-long-">getCumulativeOffset</a></span>(long&nbsp;offsetBytes)</code>
<div class="block">Gets the cumulative offset in bytes of this object from the backing resource including the given
offsetBytes.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#getCurrentDirectMemoryAllocated--">getCurrentDirectMemoryAllocated</a></span>()</code>
<div class="block">Gets the current size of active direct memory allocated.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#getCurrentDirectMemoryAllocations--">getCurrentDirectMemoryAllocations</a></span>()</code>
<div class="block">Gets the current number of active direct memory allocations.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#getCurrentDirectMemoryMapAllocated--">getCurrentDirectMemoryMapAllocated</a></span>()</code>
<div class="block">Gets the current size of active direct memory map allocated.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#getCurrentDirectMemoryMapAllocations--">getCurrentDirectMemoryMapAllocations</a></span>()</code>
<div class="block">Gets the current number of active direct memory map allocations.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../com/yahoo/memory/MemoryRequestServer.html" title="interface in com.yahoo.memory">MemoryRequestServer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#getMemoryRequestServer--">getMemoryRequestServer</a></span>()</code>
<div class="block">For Direct Memory only.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#getRegionOffset--">getRegionOffset</a></span>()</code>
<div class="block">Returns the offset of address zero of this object relative to the address zero of the
backing resource but not including the size of any Java object header.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#getRegionOffset-long-">getRegionOffset</a></span>(long&nbsp;offsetBytes)</code>
<div class="block">Returns the offset of address zero of this object relative to the address zero of the
backing resource plus the given offsetBytes but not including the size of any Java object
header.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#hasArray--">hasArray</a></span>()</code>
<div class="block">Returns true if this object is backed by an on-heap primitive array</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#hasByteBuffer--">hasByteBuffer</a></span>()</code>
<div class="block">Returns true if this Memory is backed by a ByteBuffer.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#hashCode--">hashCode</a></span>()</code>
<div class="block">Returns the hashCode of this object.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#isDirect--">isDirect</a></span>()</code>
<div class="block">Returns true if the backing resource is direct (off-heap) memory.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#isNativeOrder--">isNativeOrder</a></span>()</code>
<div class="block">Returns true if the current byte order is native order.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#isReadOnly--">isReadOnly</a></span>()</code>
<div class="block">Returns true if this object or the backing resource is read-only.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#isSameResource-java.lang.Object-">isSameResource</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;that)</code>
<div class="block">Returns true if the backing resource of <i>this</i> is identical with the backing resource
of <i>that</i>.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#isValid--">isValid</a></span>()</code>
<div class="block">Returns true if this object is valid and has not been closed.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putBoolean-boolean-">putBoolean</a></span>(boolean&nbsp;value)</code>
<div class="block">Puts the boolean value at the current position.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putBoolean-long-boolean-">putBoolean</a></span>(long&nbsp;offsetBytes,
boolean&nbsp;value)</code>
<div class="block">Puts the boolean value at the given offset.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putBooleanArray-boolean:A-int-int-">putBooleanArray</a></span>(boolean[]&nbsp;srcArray,
int&nbsp;srcOffsetBooleans,
int&nbsp;lengthBooleans)</code>
<div class="block">Puts the boolean array at the current position.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putByte-byte-">putByte</a></span>(byte&nbsp;value)</code>
<div class="block">Puts the byte value at the current position.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putByte-long-byte-">putByte</a></span>(long&nbsp;offsetBytes,
byte&nbsp;value)</code>
<div class="block">Puts the byte value at the given offset.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putByteArray-byte:A-int-int-">putByteArray</a></span>(byte[]&nbsp;srcArray,
int&nbsp;srcOffsetBytes,
int&nbsp;lengthBytes)</code>
<div class="block">Puts the byte array at the current position.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putChar-char-">putChar</a></span>(char&nbsp;value)</code>
<div class="block">Puts the char value at the current position.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putChar-long-char-">putChar</a></span>(long&nbsp;offsetBytes,
char&nbsp;value)</code>
<div class="block">Puts the char value at the given offset.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putCharArray-char:A-int-int-">putCharArray</a></span>(char[]&nbsp;srcArray,
int&nbsp;srcOffsetChars,
int&nbsp;lengthChars)</code>
<div class="block">Puts the char array at the current position.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putDouble-double-">putDouble</a></span>(double&nbsp;value)</code>
<div class="block">Puts the double value at the current position.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putDouble-long-double-">putDouble</a></span>(long&nbsp;offsetBytes,
double&nbsp;value)</code>
<div class="block">Puts the double value at the given offset.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putDoubleArray-double:A-int-int-">putDoubleArray</a></span>(double[]&nbsp;srcArray,
int&nbsp;srcOffsetDoubles,
int&nbsp;lengthDoubles)</code>
<div class="block">Puts the double array at the current position.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putFloat-float-">putFloat</a></span>(float&nbsp;value)</code>
<div class="block">Puts the float value at the current position.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putFloat-long-float-">putFloat</a></span>(long&nbsp;offsetBytes,
float&nbsp;value)</code>
<div class="block">Puts the float value at the given offset.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putFloatArray-float:A-int-int-">putFloatArray</a></span>(float[]&nbsp;srcArray,
int&nbsp;srcOffsetFloats,
int&nbsp;lengthFloats)</code>
<div class="block">Puts the float array at the current position.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putInt-int-">putInt</a></span>(int&nbsp;value)</code>
<div class="block">Puts the int value at the current position.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putInt-long-int-">putInt</a></span>(long&nbsp;offsetBytes,
int&nbsp;value)</code>
<div class="block">Puts the int value at the given offset.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putIntArray-int:A-int-int-">putIntArray</a></span>(int[]&nbsp;srcArray,
int&nbsp;srcOffsetInts,
int&nbsp;lengthInts)</code>
<div class="block">Puts the int array at the current position.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putLong-long-">putLong</a></span>(long&nbsp;value)</code>
<div class="block">Puts the long value at the current position.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putLong-long-long-">putLong</a></span>(long&nbsp;offsetBytes,
long&nbsp;value)</code>
<div class="block">Puts the long value at the given offset.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putLongArray-long:A-int-int-">putLongArray</a></span>(long[]&nbsp;srcArray,
int&nbsp;srcOffsetLongs,
int&nbsp;lengthLongs)</code>
<div class="block">Puts the long array at the current position.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putShort-long-short-">putShort</a></span>(long&nbsp;offsetBytes,
short&nbsp;value)</code>
<div class="block">Puts the short value at the given offset.</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putShort-short-">putShort</a></span>(short&nbsp;value)</code>
<div class="block">Puts the short value at the current position.</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#putShortArray-short:A-int-int-">putShortArray</a></span>(short[]&nbsp;srcArray,
int&nbsp;srcOffsetShorts,
int&nbsp;lengthShorts)</code>
<div class="block">Puts the short array at the current position.</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#toHexString-java.lang.String-long-int-">toHexString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;header,
long&nbsp;offsetBytes,
int&nbsp;lengthBytes)</code>
<div class="block">Returns a formatted hex string of a range of this object.</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>static <a href="../../../com/yahoo/memory/WritableBuffer.html" title="class in com.yahoo.memory">WritableBuffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#wrap-java.nio.ByteBuffer-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;byteBuf)</code>
<div class="block">Accesses the given ByteBuffer for write operations.</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>static <a href="../../../com/yahoo/memory/WritableBuffer.html" title="class in com.yahoo.memory">WritableBuffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#wrap-java.nio.ByteBuffer-java.nio.ByteOrder-">wrap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;byteBuf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteOrder.html?is-external=true" title="class or interface in java.nio">ByteOrder</a>&nbsp;byteOrder)</code>
<div class="block">Accesses the given ByteBuffer for write operations.</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../com/yahoo/memory/WritableBuffer.html" title="class in com.yahoo.memory">WritableBuffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#writableDuplicate--">writableDuplicate</a></span>()</code>
<div class="block">Returns a duplicate writable view of this Buffer with the same but independent values of
<i>start</i>, <i>position</i> and <i>end</i>.</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../com/yahoo/memory/WritableBuffer.html" title="class in com.yahoo.memory">WritableBuffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#writableDuplicate-java.nio.ByteOrder-">writableDuplicate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteOrder.html?is-external=true" title="class or interface in java.nio">ByteOrder</a>&nbsp;byteOrder)</code>
<div class="block">Returns a duplicate writable view of this Buffer with the same but independent values of
<i>start</i>, <i>position</i> and <i>end</i>, but with the specified byteOrder.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../com/yahoo/memory/WritableBuffer.html" title="class in com.yahoo.memory">WritableBuffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#writableRegion--">writableRegion</a></span>()</code>
<div class="block">A writable region is a writable view of this object.</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../com/yahoo/memory/WritableBuffer.html" title="class in com.yahoo.memory">WritableBuffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#writableRegion-long-long-java.nio.ByteOrder-">writableRegion</a></span>(long&nbsp;offsetBytes,
long&nbsp;capacityBytes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteOrder.html?is-external=true" title="class or interface in java.nio">ByteOrder</a>&nbsp;byteOrder)</code>
<div class="block">A writable region is a writable view of this object.</div>
</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/WritableBuffer.html#xxHash64-long-long-long-">xxHash64</a></span>(long&nbsp;offsetBytes,
long&nbsp;lengthBytes,
long&nbsp;seed)</code>
<div class="block">Returns the 64-bit hash of the sequence of bytes in this object specified by
<i>offsetBytes</i>, <i>lengthBytes</i> and a <i>seed</i>.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.com.yahoo.memory.Buffer">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;com.yahoo.memory.<a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a></h3>
<code><a href="../../../com/yahoo/memory/Buffer.html#asMemory--">asMemory</a>, <a href="../../../com/yahoo/memory/Buffer.html#compareTo-long-long-com.yahoo.memory.Buffer-long-long-">compareTo</a>, <a href="../../../com/yahoo/memory/Buffer.html#duplicate--">duplicate</a>, <a href="../../../com/yahoo/memory/Buffer.html#duplicate-java.nio.ByteOrder-">duplicate</a>, <a href="../../../com/yahoo/memory/Buffer.html#getBoolean--">getBoolean</a>, <a href="../../../com/yahoo/memory/Buffer.html#getBoolean-long-">getBoolean</a>, <a href="../../../com/yahoo/memory/Buffer.html#getBooleanArray-boolean:A-int-int-">getBooleanArray</a>, <a href="../../../com/yahoo/memory/Buffer.html#getByte--">getByte</a>, <a href="../../../com/yahoo/memory/Buffer.html#getByte-long-">getByte</a>, <a href="../../../com/yahoo/memory/Buffer.html#getByteArray-byte:A-int-int-">getByteArray</a>, <a href="../../../com/yahoo/memory/Buffer.html#getChar--">getChar</a>, <a href="../../../com/yahoo/memory/Buffer.html#getChar-long-">getChar</a>, <a href="../../../com/yahoo/memory/Buffer.html#getCharArray-char:A-int-int-">getCharArray</a>, <a href="../../../com/yahoo/memory/Buffer.html#getDouble--">getDouble</a>, <a href="../../../com/yahoo/memory/Buffer.html#getDouble-long-">getDouble</a>, <a href="../../../com/yahoo/memory/Buffer.html#getDoubleArray-double:A-int-int-">getDoubleArray</a>, <a href="../../../com/yahoo/memory/Buffer.html#getFloat--">getFloat</a>, <a href="../../../com/yahoo/memory/Buffer.html#getFloat-long-">getFloat</a>, <a href="../../../com/yahoo/memory/Buffer.html#getFloatArray-float:A-int-int-">getFloatArray</a>, <a href="../../../com/yahoo/memory/Buffer.html#getInt--">getInt</a>, <a href="../../../com/yahoo/memory/Buffer.html#getInt-long-">getInt</a>, <a href="../../../com/yahoo/memory/Buffer.html#getIntArray-int:A-int-int-">getIntArray</a>, <a href="../../../com/yahoo/memory/Buffer.html#getLong--">getLong</a>, <a href="../../../com/yahoo/memory/Buffer.html#getLong-long-">getLong</a>, <a href="../../../com/yahoo/memory/Buffer.html#getLongArray-long:A-int-int-">getLongArray</a>, <a href="../../../com/yahoo/memory/Buffer.html#getShort--">getShort</a>, <a href="../../../com/yahoo/memory/Buffer.html#getShort-long-">getShort</a>, <a href="../../../com/yahoo/memory/Buffer.html#getShortArray-short:A-int-int-">getShortArray</a>, <a href="../../../com/yahoo/memory/Buffer.html#region--">region</a>, <a href="../../../com/yahoo/memory/Buffer.html#region-long-long-java.nio.ByteOrder-">region</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.com.yahoo.memory.BaseBuffer">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;com.yahoo.memory.<a href="../../../com/yahoo/memory/BaseBuffer.html" title="class in com.yahoo.memory">BaseBuffer</a></h3>
<code><a href="../../../com/yahoo/memory/BaseBuffer.html#getEnd--">getEnd</a>, <a href="../../../com/yahoo/memory/BaseBuffer.html#getPosition--">getPosition</a>, <a href="../../../com/yahoo/memory/BaseBuffer.html#getRemaining--">getRemaining</a>, <a href="../../../com/yahoo/memory/BaseBuffer.html#getStart--">getStart</a>, <a href="../../../com/yahoo/memory/BaseBuffer.html#hasRemaining--">hasRemaining</a>, <a href="../../../com/yahoo/memory/BaseBuffer.html#incrementAndCheckPosition-long-">incrementAndCheckPosition</a>, <a href="../../../com/yahoo/memory/BaseBuffer.html#incrementPosition-long-">incrementPosition</a>, <a href="../../../com/yahoo/memory/BaseBuffer.html#resetPosition--">resetPosition</a>, <a href="../../../com/yahoo/memory/BaseBuffer.html#setAndCheckPosition-long-">setAndCheckPosition</a>, <a href="../../../com/yahoo/memory/BaseBuffer.html#setAndCheckStartPositionEnd-long-long-long-">setAndCheckStartPositionEnd</a>, <a href="../../../com/yahoo/memory/BaseBuffer.html#setPosition-long-">setPosition</a>, <a href="../../../com/yahoo/memory/BaseBuffer.html#setStartPositionEnd-long-long-long-">setStartPositionEnd</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="wrap-java.nio.ByteBuffer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../com/yahoo/memory/WritableBuffer.html" title="class in com.yahoo.memory">WritableBuffer</a>&nbsp;wrap(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;byteBuf)</pre>
<div class="block">Accesses the given ByteBuffer for write operations. The returned WritableBuffer object has
the same byte order, as the given ByteBuffer, unless the capacity of the given ByteBuffer is
zero, then byte order of the returned WritableBuffer object, as well as backing storage and
read-only status are unspecified.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>byteBuf</code> - the given ByteBuffer, must not be null.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new WritableBuffer for write operations on the given ByteBuffer.</dd>
</dl>
</li>
</ul>
<a name="wrap-java.nio.ByteBuffer-java.nio.ByteOrder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../com/yahoo/memory/WritableBuffer.html" title="class in com.yahoo.memory">WritableBuffer</a>&nbsp;wrap(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;byteBuf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteOrder.html?is-external=true" title="class or interface in java.nio">ByteOrder</a>&nbsp;byteOrder)</pre>
<div class="block">Accesses the given ByteBuffer for write operations. The returned WritableBuffer object has
the given byte order, ignoring the byte order of the given ByteBuffer. If the capacity of
the given ByteBuffer is zero the byte order of the returned WritableBuffer object
(as well as backing storage) is unspecified.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>byteBuf</code> - the given ByteBuffer, must not be null</dd>
<dd><code>byteOrder</code> - the byte order to be used, which may be independent of the byte order
state of the given ByteBuffer</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new WritableBuffer for write operations on the given ByteBuffer.</dd>
</dl>
</li>
</ul>
<a name="writableDuplicate--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writableDuplicate</h4>
<pre>public abstract&nbsp;<a href="../../../com/yahoo/memory/WritableBuffer.html" title="class in com.yahoo.memory">WritableBuffer</a>&nbsp;writableDuplicate()</pre>
<div class="block">Returns a duplicate writable view of this Buffer with the same but independent values of
<i>start</i>, <i>position</i> and <i>end</i>.
<ul>
<li>Returned object's origin = this object's origin</li>
<li>Returned object's <i>start</i> = this object's <i>start</i></li>
<li>Returned object's <i>position</i> = this object's <i>position</i></li>
<li>Returned object's <i>end</i> = this object's <i>end</i></li>
<li>Returned object's <i>capacity</i> = this object' <i>capacityBytes</i></li>
<li>Returned object's <i>start</i>, <i>position</i> and <i>end</i> are mutable and
independent of this object's <i>start</i>, <i>position</i> and <i>end</i></li>
</ul>
If this object's capacity is zero, the returned object is effectively immutable and
the backing storage and byte order are unspecified.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a duplicate writable view of this Buffer with the same but independent values of
<i>start</i>, <i>position</i> and <i>end</i>.</dd>
</dl>
</li>
</ul>
<a name="writableDuplicate-java.nio.ByteOrder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writableDuplicate</h4>
<pre>public abstract&nbsp;<a href="../../../com/yahoo/memory/WritableBuffer.html" title="class in com.yahoo.memory">WritableBuffer</a>&nbsp;writableDuplicate(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteOrder.html?is-external=true" title="class or interface in java.nio">ByteOrder</a>&nbsp;byteOrder)</pre>
<div class="block">Returns a duplicate writable view of this Buffer with the same but independent values of
<i>start</i>, <i>position</i> and <i>end</i>, but with the specified byteOrder.
<ul>
<li>Returned object's origin = this object's origin</li>
<li>Returned object's <i>start</i> = this object's <i>start</i></li>
<li>Returned object's <i>position</i> = this object's <i>position</i></li>
<li>Returned object's <i>end</i> = this object's <i>end</i></li>
<li>Returned object's <i>capacity</i> = this object' <i>capacityBytes</i></li>
<li>Returned object's <i>start</i>, <i>position</i> and <i>end</i> are mutable and
independent of this object's <i>start</i>, <i>position</i> and <i>end</i></li>
</ul>
If this object's capacity is zero, the returned object is effectively immutable and
the backing storage and byte order are unspecified.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>byteOrder</code> - the given <i>ByteOrder</i>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a duplicate writable view of this Buffer with the same but independent values of
<i>start</i>, <i>position</i> and <i>end</i>.</dd>
</dl>
</li>
</ul>
<a name="writableRegion--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writableRegion</h4>
<pre>public abstract&nbsp;<a href="../../../com/yahoo/memory/WritableBuffer.html" title="class in com.yahoo.memory">WritableBuffer</a>&nbsp;writableRegion()</pre>
<div class="block">A writable region is a writable view of this object.
<ul>
<li>Returned object's origin = this object's <i>position</i></li>
<li>Returned object's <i>start</i> = 0</li>
<li>Returned object's <i>position</i> = 0</li>
<li>Returned object's <i>end</i> = this object's (<i>end</i> - <i>position</i>)</li>
<li>Returned object's <i>capacity</i> = this object's (<i>end</i> - <i>position</i>)</li>
<li>Returned object's <i>start</i>, <i>position</i> and <i>end</i> are mutable and
independent of this object's <i>start</i>, <i>position</i> and <i>end</i></li>
</ul>
If this object's capacity is zero, the returned object is effectively immutable and
the backing storage and byte order are unspecified.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>WritableBuffer</i> representing the defined writable region.</dd>
</dl>
</li>
</ul>
<a name="writableRegion-long-long-java.nio.ByteOrder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writableRegion</h4>
<pre>public abstract&nbsp;<a href="../../../com/yahoo/memory/WritableBuffer.html" title="class in com.yahoo.memory">WritableBuffer</a>&nbsp;writableRegion(long&nbsp;offsetBytes,
long&nbsp;capacityBytes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteOrder.html?is-external=true" title="class or interface in java.nio">ByteOrder</a>&nbsp;byteOrder)</pre>
<div class="block">A writable region is a writable view of this object.
<ul>
<li>Returned object's origin = this objects' origin + <i>offsetBytes</i></li>
<li>Returned object's <i>start</i> = 0</li>
<li>Returned object's <i>position</i> = 0</li>
<li>Returned object's <i>end</i> = <i>capacityBytes</i></li>
<li>Returned object's <i>capacity</i> = <i>capacityBytes</i></li>
<li>Returned object's <i>start</i>, <i>position</i> and <i>end</i> are mutable and
independent of this object's <i>start</i>, <i>position</i> and <i>end</i></li>
<li>Returned object's byte order = <i>byteOrder</i></li>
</ul>
If this object's capacity is zero, the returned object is effectively immutable and
the backing storage and byte order are unspecified.
<p><b>Note: </b><i>asWritableMemory()</i> and <i>asMemory()</i>
will return the originating <i>Memory</i> byte order.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - the starting offset with respect to the origin of this <i>WritableBuffer</i></dd>
<dd><code>capacityBytes</code> - the <i>capacity</i> of the returned region in bytes</dd>
<dd><code>byteOrder</code> - the given byte order</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>WritableBuffer</i> representing the defined writable region
with the given offsetBytes, capacityBytes and byte order.</dd>
</dl>
</li>
</ul>
<a name="asWritableMemory--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asWritableMemory</h4>
<pre>public abstract&nbsp;<a href="../../../com/yahoo/memory/WritableMemory.html" title="class in com.yahoo.memory">WritableMemory</a>&nbsp;asWritableMemory()</pre>
<div class="block">Convert this WritableBuffer to a WritableMemory.
If this object's capacity is zero, the returned object is effectively immutable and
the backing storage and byte order are unspecified.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>WritableMemory</dd>
</dl>
</li>
</ul>
<a name="putBoolean-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putBoolean</h4>
<pre>public abstract&nbsp;void&nbsp;putBoolean(boolean&nbsp;value)</pre>
<div class="block">Puts the boolean value at the current position.
Increments the position by 1.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putBoolean-long-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putBoolean</h4>
<pre>public abstract&nbsp;void&nbsp;putBoolean(long&nbsp;offsetBytes,
boolean&nbsp;value)</pre>
<div class="block">Puts the boolean value at the given offset.
This does not change the position.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this <i>WritableMemory</i> start.</dd>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putBooleanArray-boolean:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putBooleanArray</h4>
<pre>public abstract&nbsp;void&nbsp;putBooleanArray(boolean[]&nbsp;srcArray,
int&nbsp;srcOffsetBooleans,
int&nbsp;lengthBooleans)</pre>
<div class="block">Puts the boolean array at the current position.
Increments the position by <i>lengthBooleans - srcOffsetBooleans</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcArray</code> - The source array.</dd>
<dd><code>srcOffsetBooleans</code> - offset in array units</dd>
<dd><code>lengthBooleans</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="putByte-byte-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putByte</h4>
<pre>public abstract&nbsp;void&nbsp;putByte(byte&nbsp;value)</pre>
<div class="block">Puts the byte value at the current position.
Increments the position by <i>Byte.BYTES</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putByte-long-byte-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putByte</h4>
<pre>public abstract&nbsp;void&nbsp;putByte(long&nbsp;offsetBytes,
byte&nbsp;value)</pre>
<div class="block">Puts the byte value at the given offset.
This does not change the position.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this <i>WritableMemory</i> start</dd>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putByteArray-byte:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putByteArray</h4>
<pre>public abstract&nbsp;void&nbsp;putByteArray(byte[]&nbsp;srcArray,
int&nbsp;srcOffsetBytes,
int&nbsp;lengthBytes)</pre>
<div class="block">Puts the byte array at the current position.
Increments the position by <i>Byte.BYTES * (lengthBytes - srcOffsetBytes)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcArray</code> - The source array.</dd>
<dd><code>srcOffsetBytes</code> - offset in array units</dd>
<dd><code>lengthBytes</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="putChar-char-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putChar</h4>
<pre>public abstract&nbsp;void&nbsp;putChar(char&nbsp;value)</pre>
<div class="block">Puts the char value at the current position.
Increments the position by <i>Character.BYTES</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putChar-long-char-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putChar</h4>
<pre>public abstract&nbsp;void&nbsp;putChar(long&nbsp;offsetBytes,
char&nbsp;value)</pre>
<div class="block">Puts the char value at the given offset.
This does not change the position.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this <i>WritableMemory</i> start</dd>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putCharArray-char:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putCharArray</h4>
<pre>public abstract&nbsp;void&nbsp;putCharArray(char[]&nbsp;srcArray,
int&nbsp;srcOffsetChars,
int&nbsp;lengthChars)</pre>
<div class="block">Puts the char array at the current position.
Increments the position by <i>Character.BYTES * (lengthChars - srcOffsetChars)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcArray</code> - The source array.</dd>
<dd><code>srcOffsetChars</code> - offset in array units</dd>
<dd><code>lengthChars</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="putDouble-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putDouble</h4>
<pre>public abstract&nbsp;void&nbsp;putDouble(double&nbsp;value)</pre>
<div class="block">Puts the double value at the current position.
Increments the position by <i>Double.BYTES</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putDouble-long-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putDouble</h4>
<pre>public abstract&nbsp;void&nbsp;putDouble(long&nbsp;offsetBytes,
double&nbsp;value)</pre>
<div class="block">Puts the double value at the given offset.
This does not change the position.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this <i>WritableMemory</i> start</dd>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putDoubleArray-double:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putDoubleArray</h4>
<pre>public abstract&nbsp;void&nbsp;putDoubleArray(double[]&nbsp;srcArray,
int&nbsp;srcOffsetDoubles,
int&nbsp;lengthDoubles)</pre>
<div class="block">Puts the double array at the current position.
Increments the position by <i>Double.BYTES * (lengthDoubles - srcOffsetDoubles)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcArray</code> - The source array.</dd>
<dd><code>srcOffsetDoubles</code> - offset in array units</dd>
<dd><code>lengthDoubles</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="putFloat-float-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putFloat</h4>
<pre>public abstract&nbsp;void&nbsp;putFloat(float&nbsp;value)</pre>
<div class="block">Puts the float value at the current position.
Increments the position by <i>Float.BYTES</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putFloat-long-float-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putFloat</h4>
<pre>public abstract&nbsp;void&nbsp;putFloat(long&nbsp;offsetBytes,
float&nbsp;value)</pre>
<div class="block">Puts the float value at the given offset.
This does not change the position.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this <i>WritableMemory</i> start</dd>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putFloatArray-float:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putFloatArray</h4>
<pre>public abstract&nbsp;void&nbsp;putFloatArray(float[]&nbsp;srcArray,
int&nbsp;srcOffsetFloats,
int&nbsp;lengthFloats)</pre>
<div class="block">Puts the float array at the current position.
Increments the position by <i>Float.BYTES * (lengthFloats - srcOffsetFloats)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcArray</code> - The source array.</dd>
<dd><code>srcOffsetFloats</code> - offset in array units</dd>
<dd><code>lengthFloats</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="putInt-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putInt</h4>
<pre>public abstract&nbsp;void&nbsp;putInt(int&nbsp;value)</pre>
<div class="block">Puts the int value at the current position.
Increments the position by <i>Integer.BYTES</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putInt-long-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putInt</h4>
<pre>public abstract&nbsp;void&nbsp;putInt(long&nbsp;offsetBytes,
int&nbsp;value)</pre>
<div class="block">Puts the int value at the given offset.
This does not change the position.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this <i>WritableMemory</i> start</dd>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putIntArray-int:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putIntArray</h4>
<pre>public abstract&nbsp;void&nbsp;putIntArray(int[]&nbsp;srcArray,
int&nbsp;srcOffsetInts,
int&nbsp;lengthInts)</pre>
<div class="block">Puts the int array at the current position.
Increments the position by <i>Integer.BYTES * (lengthInts - srcOffsetInts)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcArray</code> - The source array.</dd>
<dd><code>srcOffsetInts</code> - offset in array units</dd>
<dd><code>lengthInts</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="putLong-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putLong</h4>
<pre>public abstract&nbsp;void&nbsp;putLong(long&nbsp;value)</pre>
<div class="block">Puts the long value at the current position.
Increments the position by <i>Long.BYTES</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putLong-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putLong</h4>
<pre>public abstract&nbsp;void&nbsp;putLong(long&nbsp;offsetBytes,
long&nbsp;value)</pre>
<div class="block">Puts the long value at the given offset.
This does not change the position.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this <i>WritableMemory</i> start</dd>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putLongArray-long:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putLongArray</h4>
<pre>public abstract&nbsp;void&nbsp;putLongArray(long[]&nbsp;srcArray,
int&nbsp;srcOffsetLongs,
int&nbsp;lengthLongs)</pre>
<div class="block">Puts the long array at the current position.
Increments the position by <i>Long.BYTES * (lengthLongs - srcOffsetLongs)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcArray</code> - The source array.</dd>
<dd><code>srcOffsetLongs</code> - offset in array units</dd>
<dd><code>lengthLongs</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="putShort-short-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putShort</h4>
<pre>public abstract&nbsp;void&nbsp;putShort(short&nbsp;value)</pre>
<div class="block">Puts the short value at the current position.
Increments the position by <i>Short.BYTES</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putShort-long-short-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putShort</h4>
<pre>public abstract&nbsp;void&nbsp;putShort(long&nbsp;offsetBytes,
short&nbsp;value)</pre>
<div class="block">Puts the short value at the given offset.
This does not change the position.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this <i>WritableMemory</i> start</dd>
<dd><code>value</code> - the value to put</dd>
</dl>
</li>
</ul>
<a name="putShortArray-short:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putShortArray</h4>
<pre>public abstract&nbsp;void&nbsp;putShortArray(short[]&nbsp;srcArray,
int&nbsp;srcOffsetShorts,
int&nbsp;lengthShorts)</pre>
<div class="block">Puts the short array at the current position.
Increments the position by <i>Short.BYTES * (lengthShorts - srcOffsetShorts)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcArray</code> - The source array.</dd>
<dd><code>srcOffsetShorts</code> - offset in array units</dd>
<dd><code>lengthShorts</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="getArray--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getArray</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getArray()</pre>
<div class="block">Returns the primitive backing array, otherwise null.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the primitive backing array, otherwise null.</dd>
</dl>
</li>
</ul>
<a name="clear--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre>public abstract&nbsp;void&nbsp;clear()</pre>
<div class="block">Clears all bytes of this Buffer from position to end to zero. The position will be set to end.</div>
</li>
</ul>
<a name="fill-byte-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fill</h4>
<pre>public abstract&nbsp;void&nbsp;fill(byte&nbsp;value)</pre>
<div class="block">Fills this Buffer from position to end with the given byte value.
The position will be set to <i>end</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the given byte value</dd>
</dl>
</li>
</ul>
<a name="getMemoryRequestServer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMemoryRequestServer</h4>
<pre>public&nbsp;<a href="../../../com/yahoo/memory/MemoryRequestServer.html" title="interface in com.yahoo.memory">MemoryRequestServer</a>&nbsp;getMemoryRequestServer()</pre>
<div class="block">For Direct Memory only. Other types of backing resources will return null.
Gets the MemoryRequestServer object used by dynamic off-heap (Direct) memory objects
to request additional memory.
Set using <a href="../../../com/yahoo/memory/WritableMemory.html#allocateDirect-long-com.yahoo.memory.MemoryRequestServer-"><code>WritableMemory.allocateDirect(long, MemoryRequestServer)</code></a>.
If not explicity set, this returns the <a href="../../../com/yahoo/memory/DefaultMemoryRequestServer.html" title="class in com.yahoo.memory"><code>DefaultMemoryRequestServer</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the MemoryRequestServer object (if direct memory) or null.</dd>
</dl>
</li>
</ul>
<a name="equals-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public final&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;that)</pre>
<div class="block">Returns true if the given object is an instance of this class and has equal data contents.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>that</code> - the given object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the given Object is an instance of this class and has equal data contents.</dd>
</dl>
</li>
</ul>
<a name="equalTo-long-java.lang.Object-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equalTo</h4>
<pre>public final&nbsp;boolean&nbsp;equalTo(long&nbsp;thisOffsetBytes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;that,
long&nbsp;thatOffsetBytes,
long&nbsp;lengthBytes)</pre>
<div class="block">Returns true if the given object is an instance of this class and has equal contents to
this object in the given range of bytes. This will also check two distinct ranges within the
same object for eauals.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>thisOffsetBytes</code> - the starting offset in bytes for this object.</dd>
<dd><code>that</code> - the given object</dd>
<dd><code>thatOffsetBytes</code> - the starting offset in bytes for the given object</dd>
<dd><code>lengthBytes</code> - the size of the range in bytes</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the given object has equal contents to this object in the given range of
bytes.</dd>
</dl>
</li>
</ul>
<a name="getByteBuffer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getByteBuffer</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;getByteBuffer()</pre>
<div class="block">Gets the backing ByteBuffer if it exists, otherwise returns null.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the backing ByteBuffer if it exists, otherwise returns null.</dd>
</dl>
</li>
</ul>
<a name="getByteOrder--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getByteOrder</h4>
<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteOrder.html?is-external=true" title="class or interface in java.nio">ByteOrder</a>&nbsp;getByteOrder()</pre>
<div class="block">Gets the current ByteOrder.
This may be different from the ByteOrder of the backing resource.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current ByteOrder.</dd>
</dl>
</li>
</ul>
<a name="getCapacity--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCapacity</h4>
<pre>public final&nbsp;long&nbsp;getCapacity()</pre>
<div class="block">Gets the capacity of this object in bytes</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the capacity of this object in bytes</dd>
</dl>
</li>
</ul>
<a name="getCumulativeOffset--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCumulativeOffset</h4>
<pre>public final&nbsp;long&nbsp;getCumulativeOffset()</pre>
<div class="block">Gets the cumulative offset in bytes of this object from the backing resource.
This offset may also include other offset components such as the native off-heap
memory address, DirectByteBuffer split offsets, region offsets, and unsafe arrayBaseOffsets.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the cumulative offset in bytes of this object from the backing resource.</dd>
</dl>
</li>
</ul>
<a name="getCumulativeOffset-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCumulativeOffset</h4>
<pre>public final&nbsp;long&nbsp;getCumulativeOffset(long&nbsp;offsetBytes)</pre>
<div class="block">Gets the cumulative offset in bytes of this object from the backing resource including the given
offsetBytes. This offset may also include other offset components such as the native off-heap
memory address, DirectByteBuffer split offsets, region offsets, and unsafe arrayBaseOffsets.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset to be added to the cumulative offset.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the cumulative offset in bytes of this object from the backing resource including the
given offsetBytes.</dd>
</dl>
</li>
</ul>
<a name="getRegionOffset--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegionOffset</h4>
<pre>public final&nbsp;long&nbsp;getRegionOffset()</pre>
<div class="block">Returns the offset of address zero of this object relative to the address zero of the
backing resource but not including the size of any Java object header.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the offset of address zero of this object relative to the address zero of the
backing resource but not including the size of any Java object header.</dd>
</dl>
</li>
</ul>
<a name="getRegionOffset-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegionOffset</h4>
<pre>public final&nbsp;long&nbsp;getRegionOffset(long&nbsp;offsetBytes)</pre>
<div class="block">Returns the offset of address zero of this object relative to the address zero of the
backing resource plus the given offsetBytes but not including the size of any Java object
header.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - the given offsetBytes</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the offset of address zero of this object relative to the address zero of the
backing resource plus the given offsetBytes but not including the size of any Java object
header.</dd>
</dl>
</li>
</ul>
<a name="hasArray--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasArray</h4>
<pre>public final&nbsp;boolean&nbsp;hasArray()</pre>
<div class="block">Returns true if this object is backed by an on-heap primitive array</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this object is backed by an on-heap primitive array</dd>
</dl>
</li>
</ul>
<a name="hashCode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre>public final&nbsp;int&nbsp;hashCode()</pre>
<div class="block">Returns the hashCode of this object.
<p>The hash code of this object depends upon all of its contents.
Because of this, it is inadvisable to use these objects as keys in hash maps
or similar data structures unless it is known that their contents will not change.</p>
<p>If it is desirable to use these objects in a hash map depending only on object identity,
than the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/IdentityHashMap.html?is-external=true" title="class or interface in java.util"><code>IdentityHashMap</code></a> can be used.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the hashCode of this object.</dd>
</dl>
</li>
</ul>
<a name="xxHash64-long-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>xxHash64</h4>
<pre>public final&nbsp;long&nbsp;xxHash64(long&nbsp;offsetBytes,
long&nbsp;lengthBytes,
long&nbsp;seed)</pre>
<div class="block">Returns the 64-bit hash of the sequence of bytes in this object specified by
<i>offsetBytes</i>, <i>lengthBytes</i> and a <i>seed</i>. Note that the sequence of bytes is
always processed in the same order independent of endianness.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - the given offset in bytes to the first byte of the byte sequence.</dd>
<dd><code>lengthBytes</code> - the given length in bytes of the byte sequence.</dd>
<dd><code>seed</code> - the given long seed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the 64-bit hash of the sequence of bytes in this object specified by
<i>offsetBytes</i> and <i>lengthBytes</i>.</dd>
</dl>
</li>
</ul>
<a name="hasByteBuffer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasByteBuffer</h4>
<pre>public final&nbsp;boolean&nbsp;hasByteBuffer()</pre>
<div class="block">Returns true if this Memory is backed by a ByteBuffer.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this Memory is backed by a ByteBuffer.</dd>
</dl>
</li>
</ul>
<a name="isDirect--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDirect</h4>
<pre>public final&nbsp;boolean&nbsp;isDirect()</pre>
<div class="block">Returns true if the backing resource is direct (off-heap) memory.
This is the case for allocated direct memory, memory mapped files,</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the backing resource is direct (off-heap) memory.</dd>
</dl>
</li>
</ul>
<a name="isNativeOrder--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNativeOrder</h4>
<pre>public final&nbsp;boolean&nbsp;isNativeOrder()</pre>
<div class="block">Returns true if the current byte order is native order.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the current byte order is native order.</dd>
</dl>
</li>
</ul>
<a name="isReadOnly--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isReadOnly</h4>
<pre>public final&nbsp;boolean&nbsp;isReadOnly()</pre>
<div class="block">Returns true if this object or the backing resource is read-only.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this object or the backing resource is read-only.</dd>
</dl>
</li>
</ul>
<a name="isSameResource-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSameResource</h4>
<pre>public final&nbsp;boolean&nbsp;isSameResource(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;that)</pre>
<div class="block">Returns true if the backing resource of <i>this</i> is identical with the backing resource
of <i>that</i>. The capacities must be the same. If <i>this</i> is a region,
the region offset must also be the same.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>that</code> - A different non-null object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the backing resource of <i>this</i> is the same as the backing resource
of <i>that</i>.</dd>
</dl>
</li>
</ul>
<a name="isValid--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isValid</h4>
<pre>public&nbsp;boolean&nbsp;isValid()</pre>
<div class="block">Returns true if this object is valid and has not been closed.
This is relevant only for direct (off-heap) memory and Mapped Files.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this object is valid and has not been closed.</dd>
</dl>
</li>
</ul>
<a name="checkValidAndBounds-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkValidAndBounds</h4>
<pre>public final&nbsp;void&nbsp;checkValidAndBounds(long&nbsp;offsetBytes,
long&nbsp;lengthBytes)</pre>
<div class="block">Checks that the specified range of bytes is within bounds of this object, throws
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang"><code>IllegalArgumentException</code></a> if it's not: i. e. if offsetBytes &lt; 0, or length &lt; 0,
or offsetBytes + length &gt; <a href="../../../com/yahoo/memory/WritableBuffer.html#getCapacity--"><code>getCapacity()</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - the given offset in bytes of this object</dd>
<dd><code>lengthBytes</code> - the given length in bytes of this object</dd>
</dl>
</li>
</ul>
<a name="getCurrentDirectMemoryAllocations--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentDirectMemoryAllocations</h4>
<pre>public static final&nbsp;long&nbsp;getCurrentDirectMemoryAllocations()</pre>
<div class="block">Gets the current number of active direct memory allocations.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current number of active direct memory allocations.</dd>
</dl>
</li>
</ul>
<a name="getCurrentDirectMemoryAllocated--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentDirectMemoryAllocated</h4>
<pre>public static final&nbsp;long&nbsp;getCurrentDirectMemoryAllocated()</pre>
<div class="block">Gets the current size of active direct memory allocated.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current size of active direct memory allocated.</dd>
</dl>
</li>
</ul>
<a name="getCurrentDirectMemoryMapAllocations--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentDirectMemoryMapAllocations</h4>
<pre>public static final&nbsp;long&nbsp;getCurrentDirectMemoryMapAllocations()</pre>
<div class="block">Gets the current number of active direct memory map allocations.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current number of active direct memory map allocations.</dd>
</dl>
</li>
</ul>
<a name="getCurrentDirectMemoryMapAllocated--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentDirectMemoryMapAllocated</h4>
<pre>public static final&nbsp;long&nbsp;getCurrentDirectMemoryMapAllocated()</pre>
<div class="block">Gets the current size of active direct memory map allocated.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current size of active direct memory map allocated.</dd>
</dl>
</li>
</ul>
<a name="toHexString-java.lang.String-long-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toHexString</h4>
<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toHexString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;header,
long&nbsp;offsetBytes,
int&nbsp;lengthBytes)</pre>
<div class="block">Returns a formatted hex string of a range of this object.
Used primarily for testing.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>header</code> - a descriptive header</dd>
<dd><code>offsetBytes</code> - offset bytes relative to this object start</dd>
<dd><code>lengthBytes</code> - number of bytes to convert to a hex string</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a formatted hex string in a human readable array</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="../../../com/yahoo/memory/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/WritableBuffer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../com/yahoo/memory/Util.RandomCodePoints.html" title="class in com.yahoo.memory"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../com/yahoo/memory/WritableDirectHandle.html" title="class in com.yahoo.memory"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?com/yahoo/memory/WritableBuffer.html" target="_top">Frames</a></li>
<li><a href="WritableBuffer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2015&#x2013;2018 <a href="https://www.yahoo.com">Yahoo! Inc.</a>. All rights reserved.</small></p>
</body>
</html>