<!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>
