blob: 9fd0516d553e3ba768ea99be28d911fd97ddfeed [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>Buffer (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="Buffer (com.yahoo.datasketches:memory 0.12.1 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":10,"i2":6,"i3":6,"i4":6,"i5":10,"i6":10,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":10,"i14":10,"i15":10,"i16":6,"i17":6,"i18":6,"i19":10,"i20":10,"i21":9,"i22":9,"i23":9,"i24":9,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":10,"i38":10,"i39":6,"i40":6,"i41":6,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":6,"i51":6,"i52":10,"i53":9,"i54":9,"i55":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/Buffer.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/BaseBuffer.html" title="class in com.yahoo.memory"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../com/yahoo/memory/DefaultMemoryRequestServer.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/Buffer.html" target="_top">Frames</a></li>
<li><a href="Buffer.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 Buffer" class="title">Class Buffer</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>com.yahoo.memory.Buffer</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../com/yahoo/memory/WritableBuffer.html" title="class in com.yahoo.memory">WritableBuffer</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">Buffer</span>
extends <a href="../../../com/yahoo/memory/BaseBuffer.html" title="class in com.yahoo.memory">BaseBuffer</a></pre>
<div class="block">Provides read-only, positional primitive and primitive array methods to any of the four resources
mentioned in the package level documentation.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Roman Leventov, Lee Rhodes</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../com/yahoo/memory/package-summary.html"><code>com.yahoo.memory</code></a></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/Memory.html" title="class in com.yahoo.memory">Memory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#asMemory--">asMemory</a></span>()</code>
<div class="block">Convert this Buffer to a Memory.</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/Buffer.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 int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#compareTo-long-long-com.yahoo.memory.Buffer-long-long-">compareTo</a></span>(long&nbsp;thisOffsetBytes,
long&nbsp;thisLengthBytes,
<a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a>&nbsp;that,
long&nbsp;thatOffsetBytes,
long&nbsp;thatLengthBytes)</code>
<div class="block">Compares the bytes of this Buffer to <i>that</i> Buffer.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#duplicate--">duplicate</a></span>()</code>
<div class="block">Returns a read-only duplicate 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="i4" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#duplicate-java.nio.ByteOrder-">duplicate</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 read-only duplicate 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="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.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="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.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="i7" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getBoolean--">getBoolean</a></span>()</code>
<div class="block">Gets the boolean value at the current position.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getBoolean-long-">getBoolean</a></span>(long&nbsp;offsetBytes)</code>
<div class="block">Gets the boolean value at the given offset.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getBooleanArray-boolean:A-int-int-">getBooleanArray</a></span>(boolean[]&nbsp;dstArray,
int&nbsp;dstOffsetBooleans,
int&nbsp;lengthBooleans)</code>
<div class="block">Gets the boolean array at the current position.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>abstract byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getByte--">getByte</a></span>()</code>
<div class="block">Gets the byte value at the current position.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>abstract byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getByte-long-">getByte</a></span>(long&nbsp;offsetBytes)</code>
<div class="block">Gets the byte value at the given offset.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getByteArray-byte:A-int-int-">getByteArray</a></span>(byte[]&nbsp;dstArray,
int&nbsp;dstOffsetBytes,
int&nbsp;lengthBytes)</code>
<div class="block">Gets the byte array at the current position.</div>
</td>
</tr>
<tr id="i13" 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/Buffer.html#getByteBuffer--">getByteBuffer</a></span>()</code>
<div class="block">Gets the backing ByteBuffer if it exists, otherwise returns null.</div>
</td>
</tr>
<tr id="i14" 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/Buffer.html#getByteOrder--">getByteOrder</a></span>()</code>
<div class="block">Gets the current ByteOrder.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getCapacity--">getCapacity</a></span>()</code>
<div class="block">Gets the capacity of this object in bytes</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>abstract char</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getChar--">getChar</a></span>()</code>
<div class="block">Gets the char value at the current position.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>abstract char</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getChar-long-">getChar</a></span>(long&nbsp;offsetBytes)</code>
<div class="block">Gets the char value at the given offset.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getCharArray-char:A-int-int-">getCharArray</a></span>(char[]&nbsp;dstArray,
int&nbsp;dstOffsetChars,
int&nbsp;lengthChars)</code>
<div class="block">Gets the char array at the current position.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.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="i20" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.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="i21" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getCurrentDirectMemoryAllocated--">getCurrentDirectMemoryAllocated</a></span>()</code>
<div class="block">Gets the current size of active direct memory allocated.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getCurrentDirectMemoryAllocations--">getCurrentDirectMemoryAllocations</a></span>()</code>
<div class="block">Gets the current number of active direct memory allocations.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getCurrentDirectMemoryMapAllocated--">getCurrentDirectMemoryMapAllocated</a></span>()</code>
<div class="block">Gets the current size of active direct memory map allocated.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getCurrentDirectMemoryMapAllocations--">getCurrentDirectMemoryMapAllocations</a></span>()</code>
<div class="block">Gets the current number of active direct memory map allocations.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>abstract double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getDouble--">getDouble</a></span>()</code>
<div class="block">Gets the double value at the current position.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>abstract double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getDouble-long-">getDouble</a></span>(long&nbsp;offsetBytes)</code>
<div class="block">Gets the double value at the given offset.</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/Buffer.html#getDoubleArray-double:A-int-int-">getDoubleArray</a></span>(double[]&nbsp;dstArray,
int&nbsp;dstOffsetDoubles,
int&nbsp;lengthDoubles)</code>
<div class="block">Gets the double array at the current position.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>abstract float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getFloat--">getFloat</a></span>()</code>
<div class="block">Gets the float value at the current position.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>abstract float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getFloat-long-">getFloat</a></span>(long&nbsp;offsetBytes)</code>
<div class="block">Gets the float value at the given offset.</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/Buffer.html#getFloatArray-float:A-int-int-">getFloatArray</a></span>(float[]&nbsp;dstArray,
int&nbsp;dstOffsetFloats,
int&nbsp;lengthFloats)</code>
<div class="block">Gets the float array at the current position.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getInt--">getInt</a></span>()</code>
<div class="block">Gets the int value at the current position.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getInt-long-">getInt</a></span>(long&nbsp;offsetBytes)</code>
<div class="block">Gets the int value at the given offset.</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/Buffer.html#getIntArray-int:A-int-int-">getIntArray</a></span>(int[]&nbsp;dstArray,
int&nbsp;dstOffsetInts,
int&nbsp;lengthInts)</code>
<div class="block">Gets the int array at the current position.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>abstract long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getLong--">getLong</a></span>()</code>
<div class="block">Gets the long value at the current position.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>abstract long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getLong-long-">getLong</a></span>(long&nbsp;offsetBytes)</code>
<div class="block">Gets the long value at the given offset.</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/Buffer.html#getLongArray-long:A-int-int-">getLongArray</a></span>(long[]&nbsp;dstArray,
int&nbsp;dstOffsetLongs,
int&nbsp;lengthLongs)</code>
<div class="block">Gets the long array at the current position.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.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="i38" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.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="i39" class="rowColor">
<td class="colFirst"><code>abstract short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getShort--">getShort</a></span>()</code>
<div class="block">Gets the short value at the current position.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>abstract short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#getShort-long-">getShort</a></span>(long&nbsp;offsetBytes)</code>
<div class="block">Gets the short 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/Buffer.html#getShortArray-short:A-int-int-">getShortArray</a></span>(short[]&nbsp;dstArray,
int&nbsp;dstOffsetShorts,
int&nbsp;lengthShorts)</code>
<div class="block">Gets the short array at the current position.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.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="i43" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#hasByteBuffer--">hasByteBuffer</a></span>()</code>
<div class="block">Returns true if this Memory is backed by a ByteBuffer.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#hashCode--">hashCode</a></span>()</code>
<div class="block">Returns the hashCode of this object.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.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="i46" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#isNativeOrder--">isNativeOrder</a></span>()</code>
<div class="block">Returns true if the current byte order is native order.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.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="i48" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.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="i49" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.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="i50" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#region--">region</a></span>()</code>
<div class="block">A region is a read-only view of this object.</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.html#region-long-long-java.nio.ByteOrder-">region</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 region is a read-only view of this object.</div>
</td>
</tr>
<tr id="i52" class="altColor">
<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/Buffer.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="i53" class="rowColor">
<td class="colFirst"><code>static <a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.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 read-only operations.</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>static <a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.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 read-only operations.</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Buffer.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.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/Buffer.html" title="class in com.yahoo.memory">Buffer</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 read-only operations. The returned Buffer 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 Buffer 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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new Buffer for read-only 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/Buffer.html" title="class in com.yahoo.memory">Buffer</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 read-only operations. The returned Buffer 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 Buffer 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 Buffer for read-only operations on the given ByteBuffer.</dd>
</dl>
</li>
</ul>
<a name="duplicate--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>duplicate</h4>
<pre>public abstract&nbsp;<a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a>&nbsp;duplicate()</pre>
<div class="block">Returns a read-only duplicate 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 read-only duplicate 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="duplicate-java.nio.ByteOrder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>duplicate</h4>
<pre>public abstract&nbsp;<a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a>&nbsp;duplicate(<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 read-only duplicate 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 read-only duplicate 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="region--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>region</h4>
<pre>public abstract&nbsp;<a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a>&nbsp;region()</pre>
<div class="block">A region is a read-only 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>Buffer</i> representing the defined region based on the current
<i>position</i> and <i>end</i>.</dd>
</dl>
</li>
</ul>
<a name="region-long-long-java.nio.ByteOrder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>region</h4>
<pre>public abstract&nbsp;<a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a>&nbsp;region(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 region is a read-only 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: The Memory returned with </b><i>asMemory()</i> will have 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
based on the current <i>position</i>, <i>end</i> and byteOrder.</dd>
</dl>
</li>
</ul>
<a name="asMemory--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asMemory</h4>
<pre>public abstract&nbsp;<a href="../../../com/yahoo/memory/Memory.html" title="class in com.yahoo.memory">Memory</a>&nbsp;asMemory()</pre>
<div class="block">Convert this Buffer to a Memory. The current <i>start</i>, <i>position</i> and <i>end</i>
are ignored.
If this object's capacity is zero, the returned object is effectively immutable and
the backing resource and byte order are unspecified.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Memory</dd>
</dl>
</li>
</ul>
<a name="getBoolean--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBoolean</h4>
<pre>public abstract&nbsp;boolean&nbsp;getBoolean()</pre>
<div class="block">Gets the boolean value at the current position.
Increments the position by 1.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the boolean at the current position</dd>
</dl>
</li>
</ul>
<a name="getBoolean-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBoolean</h4>
<pre>public abstract&nbsp;boolean&nbsp;getBoolean(long&nbsp;offsetBytes)</pre>
<div class="block">Gets 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 Memory start</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the boolean at the given offset</dd>
</dl>
</li>
</ul>
<a name="getBooleanArray-boolean:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBooleanArray</h4>
<pre>public abstract&nbsp;void&nbsp;getBooleanArray(boolean[]&nbsp;dstArray,
int&nbsp;dstOffsetBooleans,
int&nbsp;lengthBooleans)</pre>
<div class="block">Gets the boolean array at the current position.
Increments the position by <i>lengthBooleans - dstOffsetBooleans</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dstArray</code> - The preallocated destination array.</dd>
<dd><code>dstOffsetBooleans</code> - offset in array units</dd>
<dd><code>lengthBooleans</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="getByte--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getByte</h4>
<pre>public abstract&nbsp;byte&nbsp;getByte()</pre>
<div class="block">Gets the byte value at the current position.
Increments the position by <i>Byte.BYTES</i>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the byte at the current position</dd>
</dl>
</li>
</ul>
<a name="getByte-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getByte</h4>
<pre>public abstract&nbsp;byte&nbsp;getByte(long&nbsp;offsetBytes)</pre>
<div class="block">Gets 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 Memory start</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the byte at the given offset</dd>
</dl>
</li>
</ul>
<a name="getByteArray-byte:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getByteArray</h4>
<pre>public abstract&nbsp;void&nbsp;getByteArray(byte[]&nbsp;dstArray,
int&nbsp;dstOffsetBytes,
int&nbsp;lengthBytes)</pre>
<div class="block">Gets the byte array at the current position.
Increments the position by <i>Byte.BYTES * (lengthBytes - dstOffsetBytes)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dstArray</code> - The preallocated destination array.</dd>
<dd><code>dstOffsetBytes</code> - offset in array units</dd>
<dd><code>lengthBytes</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="getChar--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChar</h4>
<pre>public abstract&nbsp;char&nbsp;getChar()</pre>
<div class="block">Gets the char value at the current position.
Increments the position by <i>Character.BYTES</i>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the char at the current position</dd>
</dl>
</li>
</ul>
<a name="getChar-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChar</h4>
<pre>public abstract&nbsp;char&nbsp;getChar(long&nbsp;offsetBytes)</pre>
<div class="block">Gets 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 Memory start</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the char at the given offset</dd>
</dl>
</li>
</ul>
<a name="getCharArray-char:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCharArray</h4>
<pre>public abstract&nbsp;void&nbsp;getCharArray(char[]&nbsp;dstArray,
int&nbsp;dstOffsetChars,
int&nbsp;lengthChars)</pre>
<div class="block">Gets the char array at the current position.
Increments the position by <i>Character.BYTES * (lengthChars - dstOffsetChars)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dstArray</code> - The preallocated destination array.</dd>
<dd><code>dstOffsetChars</code> - offset in array units</dd>
<dd><code>lengthChars</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="getDouble--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDouble</h4>
<pre>public abstract&nbsp;double&nbsp;getDouble()</pre>
<div class="block">Gets the double value at the current position.
Increments the position by <i>Double.BYTES</i>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the double at the current position</dd>
</dl>
</li>
</ul>
<a name="getDouble-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDouble</h4>
<pre>public abstract&nbsp;double&nbsp;getDouble(long&nbsp;offsetBytes)</pre>
<div class="block">Gets 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 Memory start</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the double at the given offset</dd>
</dl>
</li>
</ul>
<a name="getDoubleArray-double:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDoubleArray</h4>
<pre>public abstract&nbsp;void&nbsp;getDoubleArray(double[]&nbsp;dstArray,
int&nbsp;dstOffsetDoubles,
int&nbsp;lengthDoubles)</pre>
<div class="block">Gets the double array at the current position.
Increments the position by <i>Double.BYTES * (lengthDoubles - dstOffsetDoubles)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dstArray</code> - The preallocated destination array.</dd>
<dd><code>dstOffsetDoubles</code> - offset in array units</dd>
<dd><code>lengthDoubles</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="getFloat--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFloat</h4>
<pre>public abstract&nbsp;float&nbsp;getFloat()</pre>
<div class="block">Gets the float value at the current position.
Increments the position by <i>Float.BYTES</i>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the float at the current position</dd>
</dl>
</li>
</ul>
<a name="getFloat-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFloat</h4>
<pre>public abstract&nbsp;float&nbsp;getFloat(long&nbsp;offsetBytes)</pre>
<div class="block">Gets 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 Memory start</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the float at the given offset</dd>
</dl>
</li>
</ul>
<a name="getFloatArray-float:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFloatArray</h4>
<pre>public abstract&nbsp;void&nbsp;getFloatArray(float[]&nbsp;dstArray,
int&nbsp;dstOffsetFloats,
int&nbsp;lengthFloats)</pre>
<div class="block">Gets the float array at the current position.
Increments the position by <i>Float.BYTES * (lengthFloats - dstOffsetFloats)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dstArray</code> - The preallocated destination array.</dd>
<dd><code>dstOffsetFloats</code> - offset in array units</dd>
<dd><code>lengthFloats</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="getInt--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
<pre>public abstract&nbsp;int&nbsp;getInt()</pre>
<div class="block">Gets the int value at the current position.
Increments the position by <i>Integer.BYTES</i>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the int at the current position</dd>
</dl>
</li>
</ul>
<a name="getInt-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
<pre>public abstract&nbsp;int&nbsp;getInt(long&nbsp;offsetBytes)</pre>
<div class="block">Gets 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 Memory start</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the int at the given offset</dd>
</dl>
</li>
</ul>
<a name="getIntArray-int:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIntArray</h4>
<pre>public abstract&nbsp;void&nbsp;getIntArray(int[]&nbsp;dstArray,
int&nbsp;dstOffsetInts,
int&nbsp;lengthInts)</pre>
<div class="block">Gets the int array at the current position.
Increments the position by <i>Integer.BYTES * (lengthInts - dstOffsetInts)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dstArray</code> - The preallocated destination array.</dd>
<dd><code>dstOffsetInts</code> - offset in array units</dd>
<dd><code>lengthInts</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="getLong--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
<pre>public abstract&nbsp;long&nbsp;getLong()</pre>
<div class="block">Gets the long value at the current position.
Increments the position by <i>Long.BYTES</i>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the long at the current position</dd>
</dl>
</li>
</ul>
<a name="getLong-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
<pre>public abstract&nbsp;long&nbsp;getLong(long&nbsp;offsetBytes)</pre>
<div class="block">Gets 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 Memory start</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the long at the given offset</dd>
</dl>
</li>
</ul>
<a name="getLongArray-long:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLongArray</h4>
<pre>public abstract&nbsp;void&nbsp;getLongArray(long[]&nbsp;dstArray,
int&nbsp;dstOffsetLongs,
int&nbsp;lengthLongs)</pre>
<div class="block">Gets the long array at the current position.
Increments the position by <i>Long.BYTES * (lengthLongs - dstOffsetLongs)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dstArray</code> - The preallocated destination array.</dd>
<dd><code>dstOffsetLongs</code> - offset in array units</dd>
<dd><code>lengthLongs</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="getShort--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getShort</h4>
<pre>public abstract&nbsp;short&nbsp;getShort()</pre>
<div class="block">Gets the short value at the current position.
Increments the position by <i>Short.BYTES</i>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the short at the current position</dd>
</dl>
</li>
</ul>
<a name="getShort-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getShort</h4>
<pre>public abstract&nbsp;short&nbsp;getShort(long&nbsp;offsetBytes)</pre>
<div class="block">Gets 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 Memory start</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the short at the given offset</dd>
</dl>
</li>
</ul>
<a name="getShortArray-short:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getShortArray</h4>
<pre>public abstract&nbsp;void&nbsp;getShortArray(short[]&nbsp;dstArray,
int&nbsp;dstOffsetShorts,
int&nbsp;lengthShorts)</pre>
<div class="block">Gets the short array at the current position.
Increments the position by <i>Short.BYTES * (lengthShorts - dstOffsetShorts)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dstArray</code> - The preallocated destination array.</dd>
<dd><code>dstOffsetShorts</code> - offset in array units</dd>
<dd><code>lengthShorts</code> - number of array units to transfer</dd>
</dl>
</li>
</ul>
<a name="compareTo-long-long-com.yahoo.memory.Buffer-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compareTo</h4>
<pre>public abstract&nbsp;int&nbsp;compareTo(long&nbsp;thisOffsetBytes,
long&nbsp;thisLengthBytes,
<a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a>&nbsp;that,
long&nbsp;thatOffsetBytes,
long&nbsp;thatLengthBytes)</pre>
<div class="block">Compares the bytes of this Buffer to <i>that</i> Buffer.
This uses absolute offsets not the start, position and end.
Returns <i>(this &lt; that) ? (some negative value) : (this &gt; that) ? (some positive value)
: 0;</i>.
If all bytes are equal up to the shorter of the two lengths, the shorter length is
considered to be less than the other.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>thisOffsetBytes</code> - the starting offset for <i>this Buffer</i></dd>
<dd><code>thisLengthBytes</code> - the length of the region to compare from <i>this Buffer</i></dd>
<dd><code>that</code> - the other Buffer to compare with</dd>
<dd><code>thatOffsetBytes</code> - the starting offset for <i>that Buffer</i></dd>
<dd><code>thatLengthBytes</code> - the length of the region to compare from <i>that Buffer</i></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><i>(this &lt; that) ? (some negative value) : (this &gt; that) ? (some positive value)
: 0;</i></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/Buffer.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/Buffer.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/BaseBuffer.html" title="class in com.yahoo.memory"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../com/yahoo/memory/DefaultMemoryRequestServer.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/Buffer.html" target="_top">Frames</a></li>
<li><a href="Buffer.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>