blob: e0fcf23fe88439a1ecb17c70d0a525c0db8066aa [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>Memory (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="Memory (com.yahoo.datasketches:memory 0.12.1 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":10,"i3":6,"i4":6,"i5":10,"i6":10,"i7":6,"i8":6,"i9":6,"i10":6,"i11":10,"i12":10,"i13":10,"i14":6,"i15":6,"i16":6,"i17":6,"i18":10,"i19":10,"i20":9,"i21":9,"i22":9,"i23":9,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":10,"i33":10,"i34":6,"i35":6,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":9,"i45":9,"i46":6,"i47":6,"i48":10,"i49":6,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":6,"i63":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/Memory.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/MapHandle.html" title="class in com.yahoo.memory"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../com/yahoo/memory/MemoryRequestServer.html" title="interface 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/Memory.html" target="_top">Frames</a></li>
<li><a href="Memory.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 Memory" class="title">Class Memory</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>com.yahoo.memory.Memory</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/WritableMemory.html" title="class in com.yahoo.memory">WritableMemory</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">Memory</span>
extends <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></pre>
<div class="block">Provides read-only 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/Buffer.html" title="class in com.yahoo.memory">Buffer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#asBuffer--">asBuffer</a></span>()</code>
<div class="block">Returns a new <i>Buffer</i> view of this object.</div>
</td>
</tr>
<tr id="i1" 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/Memory.html#asBuffer-java.nio.ByteOrder-">asBuffer</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 new <i>Buffer</i> view of this object, with the given
byte order.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i3" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#compareTo-long-long-com.yahoo.memory.Memory-long-long-">compareTo</a></span>(long&nbsp;thisOffsetBytes,
long&nbsp;thisLengthBytes,
<a href="../../../com/yahoo/memory/Memory.html" title="class in com.yahoo.memory">Memory</a>&nbsp;that,
long&nbsp;thatOffsetBytes,
long&nbsp;thatLengthBytes)</code>
<div class="block">Compares the bytes of this Memory to <i>that</i> Memory.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#copyTo-long-com.yahoo.memory.WritableMemory-long-long-">copyTo</a></span>(long&nbsp;srcOffsetBytes,
<a href="../../../com/yahoo/memory/WritableMemory.html" title="class in com.yahoo.memory">WritableMemory</a>&nbsp;destination,
long&nbsp;dstOffsetBytes,
long&nbsp;lengthBytes)</code>
<div class="block">Copies bytes from a source range of this Memory to a destination range of the given Memory
with the same semantics when copying between overlapping ranges of bytes as method
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#arraycopy-java.lang.Object-int-java.lang.Object-int-int-" title="class or interface in java.lang"><code>System.arraycopy(Object, int, Object, int, int)</code></a> has.</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/Memory.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/Memory.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/Memory.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="i8" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#getBooleanArray-long-boolean:A-int-int-">getBooleanArray</a></span>(long&nbsp;offsetBytes,
boolean[]&nbsp;dstArray,
int&nbsp;dstOffsetBooleans,
int&nbsp;lengthBooleans)</code>
<div class="block">Gets the boolean array at the given offset</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>abstract byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i10" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#getByteArray-long-byte:A-int-int-">getByteArray</a></span>(long&nbsp;offsetBytes,
byte[]&nbsp;dstArray,
int&nbsp;dstOffsetBytes,
int&nbsp;lengthBytes)</code>
<div class="block">Gets the byte array at the given offset</div>
</td>
</tr>
<tr id="i11" 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/Memory.html#getByteBuffer--">getByteBuffer</a></span>()</code>
<div class="block">Gets the backing ByteBuffer if it exists, otherwise returns null.</div>
</td>
</tr>
<tr id="i12" 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/Memory.html#getByteOrder--">getByteOrder</a></span>()</code>
<div class="block">Gets the current ByteOrder.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#getCapacity--">getCapacity</a></span>()</code>
<div class="block">Gets the capacity of this object in bytes</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>abstract char</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i15" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#getCharArray-long-char:A-int-int-">getCharArray</a></span>(long&nbsp;offsetBytes,
char[]&nbsp;dstArray,
int&nbsp;dstOffsetChars,
int&nbsp;lengthChars)</code>
<div class="block">Gets the char array at the given offset</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#getCharsFromUtf8-long-int-java.lang.Appendable-">getCharsFromUtf8</a></span>(long&nbsp;offsetBytes,
int&nbsp;utf8LengthBytes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang">Appendable</a>&nbsp;dst)</code>
<div class="block">Gets UTF-8 encoded bytes from this Memory, starting at offsetBytes to a length of
utf8LengthBytes, decodes them into characters and appends them to the given Appendable.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#getCharsFromUtf8-long-int-java.lang.StringBuilder-">getCharsFromUtf8</a></span>(long&nbsp;offsetBytes,
int&nbsp;utf8LengthBytes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;dst)</code>
<div class="block">Gets UTF-8 encoded bytes from this Memory, starting at offsetBytes to a length of
utf8LengthBytes, decodes them into characters and appends them to the given StringBuilder.</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/Memory.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="i19" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i20" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#getCurrentDirectMemoryAllocated--">getCurrentDirectMemoryAllocated</a></span>()</code>
<div class="block">Gets the current size of active direct memory allocated.</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/Memory.html#getCurrentDirectMemoryAllocations--">getCurrentDirectMemoryAllocations</a></span>()</code>
<div class="block">Gets the current number of active direct memory allocations.</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/Memory.html#getCurrentDirectMemoryMapAllocated--">getCurrentDirectMemoryMapAllocated</a></span>()</code>
<div class="block">Gets the current size of active direct memory map allocated.</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/Memory.html#getCurrentDirectMemoryMapAllocations--">getCurrentDirectMemoryMapAllocations</a></span>()</code>
<div class="block">Gets the current number of active direct memory map allocations.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>abstract double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i25" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#getDoubleArray-long-double:A-int-int-">getDoubleArray</a></span>(long&nbsp;offsetBytes,
double[]&nbsp;dstArray,
int&nbsp;dstOffsetDoubles,
int&nbsp;lengthDoubles)</code>
<div class="block">Gets the double array at the given offset</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>abstract float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i27" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#getFloatArray-long-float:A-int-int-">getFloatArray</a></span>(long&nbsp;offsetBytes,
float[]&nbsp;dstArray,
int&nbsp;dstOffsetFloats,
int&nbsp;lengthFloats)</code>
<div class="block">Gets the float array at the given offset</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i29" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#getIntArray-long-int:A-int-int-">getIntArray</a></span>(long&nbsp;offsetBytes,
int[]&nbsp;dstArray,
int&nbsp;dstOffsetInts,
int&nbsp;lengthInts)</code>
<div class="block">Gets the int array at the given offset</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>abstract long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i31" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#getLongArray-long-long:A-int-int-">getLongArray</a></span>(long&nbsp;offsetBytes,
long[]&nbsp;dstArray,
int&nbsp;dstOffsetLongs,
int&nbsp;lengthLongs)</code>
<div class="block">Gets the long array at the given offset</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i33" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i34" class="altColor">
<td class="colFirst"><code>abstract short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i35" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#getShortArray-long-short:A-int-int-">getShortArray</a></span>(long&nbsp;offsetBytes,
short[]&nbsp;dstArray,
int&nbsp;dstOffsetShorts,
int&nbsp;lengthShorts)</code>
<div class="block">Gets the short array at the given offset</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i37" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#hasByteBuffer--">hasByteBuffer</a></span>()</code>
<div class="block">Returns true if this Memory is backed by a ByteBuffer.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#hashCode--">hashCode</a></span>()</code>
<div class="block">Returns the hashCode of this object.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i40" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#isNativeOrder--">isNativeOrder</a></span>()</code>
<div class="block">Returns true if the current byte order is native order.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i42" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i43" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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="i44" class="altColor">
<td class="colFirst"><code>static <a href="../../../com/yahoo/memory/MapHandle.html" title="class in com.yahoo.memory">MapHandle</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#map-java.io.File-">map</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;file)</code>
<div class="block">Maps the entire given file into native-ordered Memory for read operations
(including those &gt; 2GB).</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>static <a href="../../../com/yahoo/memory/MapHandle.html" title="class in com.yahoo.memory">MapHandle</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#map-java.io.File-long-long-java.nio.ByteOrder-">map</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;file,
long&nbsp;fileOffsetBytes,
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">Maps the specified portion of the given file into Memory for read operations
(including those &gt; 2GB).</div>
</td>
</tr>
<tr id="i46" 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/Memory.html#region-long-long-">region</a></span>(long&nbsp;offsetBytes,
long&nbsp;capacityBytes)</code>
<div class="block">A region is a read-only view of this object.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<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/Memory.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="i48" 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/Memory.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="i49" class="rowColor">
<td class="colFirst"><code>abstract <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/Memory.html#unsafeByteBufferView-long-int-">unsafeByteBufferView</a></span>(long&nbsp;offsetBytes,
int&nbsp;capacityBytes)</code>
<div class="block">Returns the specified region of this Memory object as a new read-only <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio"><code>ByteBuffer</code></a>
object.</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>static <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/Memory.html#wrap-boolean:A-">wrap</a></span>(boolean[]&nbsp;arr)</code>
<div class="block">Wraps the given primitive array for read operations assuming native byte order.</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>static <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/Memory.html#wrap-byte:A-">wrap</a></span>(byte[]&nbsp;arr)</code>
<div class="block">Wraps the given primitive array for read operations assuming native byte order.</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>static <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/Memory.html#wrap-byte:A-java.nio.ByteOrder-">wrap</a></span>(byte[]&nbsp;arr,
<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">Wraps the given primitive array for read operations with the given byte order.</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>static <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/Memory.html#wrap-byte:A-int-int-java.nio.ByteOrder-">wrap</a></span>(byte[]&nbsp;arr,
int&nbsp;offsetBytes,
int&nbsp;lengthBytes,
<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">Wraps the given primitive array for read operations with the given byte order.</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>static <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/Memory.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="i55" class="rowColor">
<td class="colFirst"><code>static <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/Memory.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="i56" class="altColor">
<td class="colFirst"><code>static <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/Memory.html#wrap-char:A-">wrap</a></span>(char[]&nbsp;arr)</code>
<div class="block">Wraps the given primitive array for read operations assuming native byte order.</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>static <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/Memory.html#wrap-double:A-">wrap</a></span>(double[]&nbsp;arr)</code>
<div class="block">Wraps the given primitive array for read operations assuming native byte order.</div>
</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>static <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/Memory.html#wrap-float:A-">wrap</a></span>(float[]&nbsp;arr)</code>
<div class="block">Wraps the given primitive array for read operations assuming native byte order.</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>static <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/Memory.html#wrap-int:A-">wrap</a></span>(int[]&nbsp;arr)</code>
<div class="block">Wraps the given primitive array for read operations assuming native byte order.</div>
</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>static <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/Memory.html#wrap-long:A-">wrap</a></span>(long[]&nbsp;arr)</code>
<div class="block">Wraps the given primitive array for read operations assuming native byte order.</div>
</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>static <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/Memory.html#wrap-short:A-">wrap</a></span>(short[]&nbsp;arr)</code>
<div class="block">Wraps the given primitive array for read operations assuming native byte order.</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.html#writeTo-long-long-java.nio.channels.WritableByteChannel-">writeTo</a></span>(long&nbsp;offsetBytes,
long&nbsp;lengthBytes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/WritableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">WritableByteChannel</a>&nbsp;out)</code>
<div class="block">Writes bytes from a source range of this Memory to the given <code>WritableByteChannel</code>.</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/yahoo/memory/Memory.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.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/Memory.html" title="class in com.yahoo.memory">Memory</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 <i>Memory</i> 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 <i>Memory</i> object (as well as backing storage) is
unspecified.
<p><b>Note:</b> Always qualify this method with the class name, e.g.,
<i>Memory.wrap(...)</i>.</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 <i>Memory</i> 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/Memory.html" title="class in com.yahoo.memory">Memory</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 <i>Memory</i> 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 <i>Memory</i> object (as well as backing
storage) is unspecified.
<p><b>Note:</b> Always qualify this method with the class name, e.g.,
<i>Memory.wrap(...)</i>.</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, whicn may be independent of the byte order
state of the given ByteBuffer.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>Memory</i> for read-only operations on the given ByteBuffer.</dd>
</dl>
</li>
</ul>
<a name="map-java.io.File-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>map</h4>
<pre>public static&nbsp;<a href="../../../com/yahoo/memory/MapHandle.html" title="class in com.yahoo.memory">MapHandle</a>&nbsp;map(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;file)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Maps the entire given file into native-ordered Memory for read operations
(including those &gt; 2GB).
Calling this method is equivalent to calling <a href="../../../com/yahoo/memory/Memory.html#map-java.io.File-long-long-java.nio.ByteOrder-"><code>map(file, 0, file.length(), ByteOrder.nativeOrder())</code></a>.
<p><b>Note:</b> Always qualify this method with the class name, e.g.,
<i>Memory.map(...)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>file</code> - the given file to map</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><i>MapHandle</i> for managing the mapped Memory</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if file not found or a RuntimeException.</dd>
</dl>
</li>
</ul>
<a name="map-java.io.File-long-long-java.nio.ByteOrder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>map</h4>
<pre>public static&nbsp;<a href="../../../com/yahoo/memory/MapHandle.html" title="class in com.yahoo.memory">MapHandle</a>&nbsp;map(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;file,
long&nbsp;fileOffsetBytes,
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)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Maps the specified portion of the given file into Memory for read operations
(including those &gt; 2GB).
<p><b>Note:</b> Always qualify this method with the class name, e.g.,
<i>Memory.map(...)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>file</code> - the given file to map. It may not be null.</dd>
<dd><code>fileOffsetBytes</code> - the position in the given file in bytes. It may not be negative.</dd>
<dd><code>capacityBytes</code> - the size of the mapped Memory. It may not be negative or zero.</dd>
<dd><code>byteOrder</code> - the byte order to be used for the mapped Memory. It may not be null.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><i>MapHandle</i> for managing the mapped Memory</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if file not found or a RuntimeException.</dd>
</dl>
</li>
</ul>
<a name="region-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>region</h4>
<pre>public abstract&nbsp;<a href="../../../com/yahoo/memory/Memory.html" title="class in com.yahoo.memory">Memory</a>&nbsp;region(long&nbsp;offsetBytes,
long&nbsp;capacityBytes)</pre>
<div class="block">A region is a read-only view of this object.
<ul>
<li>Returned object's origin = this object's origin + offsetBytes</li>
<li>Returned object's capacity = capacityBytes</li>
</ul>
If the given capacityBytes 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>offsetBytes</code> - the starting offset with respect to the origin of this Memory.</dd>
<dd><code>capacityBytes</code> - the capacity of the region in bytes</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>Memory</i> representing the defined region based on the given
offsetBytes and capacityBytes.</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/Memory.html" title="class in com.yahoo.memory">Memory</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 object's origin + <i>offsetBytes</i></li>
<li>Returned object's capacity = <i>capacityBytes</i></li>
<li>Returned object's byte order = <i>byteOrder</i></li>
</ul>
If the given capacityBytes 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>offsetBytes</code> - the starting offset with respect to the origin of this Memory.</dd>
<dd><code>capacityBytes</code> - the capacity of the region in bytes</dd>
<dd><code>byteOrder</code> - the given byte order</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>Memory</i> representing the defined region based on the given
offsetBytes, capacityBytes and byteOrder.</dd>
</dl>
</li>
</ul>
<a name="asBuffer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asBuffer</h4>
<pre>public abstract&nbsp;<a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a>&nbsp;asBuffer()</pre>
<div class="block">Returns a new <i>Buffer</i> view of this object.
<ul>
<li>Returned object's origin = this object's origin</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 capacity</li>
<li>Returned object's <i>capacity</i> = this object's capacity</li>
<li>Returned object's <i>start</i>, <i>position</i> and <i>end</i> are mutable</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></dd>
</dl>
</li>
</ul>
<a name="asBuffer-java.nio.ByteOrder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asBuffer</h4>
<pre>public abstract&nbsp;<a href="../../../com/yahoo/memory/Buffer.html" title="class in com.yahoo.memory">Buffer</a>&nbsp;asBuffer(<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 new <i>Buffer</i> view of this object, with the given
byte order.
<ul>
<li>Returned object's origin = this object's origin</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 capacity</li>
<li>Returned object's <i>capacity</i> = this object's capacity</li>
<li>Returned object's <i>start</i>, <i>position</i> and <i>end</i> are mutable</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 byte order</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>Buffer</i> with the given byteOrder.</dd>
</dl>
</li>
</ul>
<a name="unsafeByteBufferView-long-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unsafeByteBufferView</h4>
<pre>public abstract&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;unsafeByteBufferView(long&nbsp;offsetBytes,
int&nbsp;capacityBytes)</pre>
<div class="block">Returns the specified region of this Memory object as a new read-only <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio"><code>ByteBuffer</code></a>
object. The <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteOrder.html?is-external=true" title="class or interface in java.nio"><code>ByteOrder</code></a> of the returned <code>ByteBuffer</code> corresponds to the <a href="../../../com/yahoo/memory/Memory.html#getByteOrder--">byte order of this Memory</a>. The returned ByteBuffer's position is 0 and
the limit is equal to the capacity.
<p>If this Memory object is the result of wrapping non-byte Java arrays (<a href="../../../com/yahoo/memory/Memory.html#wrap-int:A-"><code>wrap(int[])</code></a>, <a href="../../../com/yahoo/memory/Memory.html#wrap-long:A-"><code>wrap(long[])</code></a>, etc.) this methods throws an <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang"><code>UnsupportedOperationException</code></a>.
<p>The name of this method starts with "unsafe" because if this is a native managed Memory
(e. g. obtained via <a href="../../../com/yahoo/memory/Memory.html#map-java.io.File-"><code>map(File)</code></a> or <a href="../../../com/yahoo/memory/WritableMemory.html#allocateDirect-long-"><code>WritableMemory.allocateDirect(long)</code></a>)), and
the returned <code>ByteBuffer</code> object is used after the Memory is freed, it may cause a JVM
crash. This is also possible for Memory objects themselves with some methods,
but Memory's use-after-free is caught as an AssertionError, if assertions are enabled.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - the starting offset with respect to the origin of this Memory</dd>
<dd><code>capacityBytes</code> - the capacity of the returned ByteBuffer</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new read-only <code>ByteBuffer</code> to access the specified region.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang">UnsupportedOperationException</a></code> - if this method couldn't be viewed as ByteBuffer, because
when it wraps a non-byte Java array.</dd>
</dl>
</li>
</ul>
<a name="wrap-boolean:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../com/yahoo/memory/Memory.html" title="class in com.yahoo.memory">Memory</a>&nbsp;wrap(boolean[]&nbsp;arr)</pre>
<div class="block">Wraps the given primitive array for read operations assuming native byte order. If the array
size is zero, backing storage and byte order of the returned <i>Memory</i> object are unspecified.
<p><b>Note:</b> Always qualify this method with the class name, e.g.,
<i>Memory.wrap(...)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arr</code> - the given primitive array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>Memory</i> for read operations</dd>
</dl>
</li>
</ul>
<a name="wrap-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../com/yahoo/memory/Memory.html" title="class in com.yahoo.memory">Memory</a>&nbsp;wrap(byte[]&nbsp;arr)</pre>
<div class="block">Wraps the given primitive array for read operations assuming native byte order. If the array
size is zero, backing storage and byte order of the returned <i>Memory</i> object are unspecified.
<p><b>Note:</b> Always qualify this method with the class name, e.g.,
<i>Memory.wrap(...)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arr</code> - the given primitive array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>Memory</i> for read operations</dd>
</dl>
</li>
</ul>
<a name="wrap-byte:A-java.nio.ByteOrder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../com/yahoo/memory/Memory.html" title="class in com.yahoo.memory">Memory</a>&nbsp;wrap(byte[]&nbsp;arr,
<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">Wraps the given primitive array for read operations with the given byte order. If the array
size is zero, backing storage and byte order of the returned <i>Memory</i> object are unspecified.
<p><b>Note:</b> Always qualify this method with the class name, e.g.,
<i>Memory.wrap(...)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arr</code> - the given primitive array.</dd>
<dd><code>byteOrder</code> - the byte order to be used</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>Memory</i> for read operations</dd>
</dl>
</li>
</ul>
<a name="wrap-byte:A-int-int-java.nio.ByteOrder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../com/yahoo/memory/Memory.html" title="class in com.yahoo.memory">Memory</a>&nbsp;wrap(byte[]&nbsp;arr,
int&nbsp;offsetBytes,
int&nbsp;lengthBytes,
<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">Wraps the given primitive array for read operations with the given byte order. If the given
lengthBytes is zero, backing storage and byte order of the returned <i>Memory</i> object are
unspecified.
<p><b>Note:</b> Always qualify this method with the class name, e.g.,
<i>Memory.wrap(...)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arr</code> - the given primitive array.</dd>
<dd><code>offsetBytes</code> - the byte offset into the given array</dd>
<dd><code>lengthBytes</code> - the number of bytes to include from the given array</dd>
<dd><code>byteOrder</code> - the byte order to be used</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>Memory</i> for read operations</dd>
</dl>
</li>
</ul>
<a name="wrap-char:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../com/yahoo/memory/Memory.html" title="class in com.yahoo.memory">Memory</a>&nbsp;wrap(char[]&nbsp;arr)</pre>
<div class="block">Wraps the given primitive array for read operations assuming native byte order. If the array
size is zero, backing storage and byte order of the returned <i>Memory</i> object are unspecified.
<p><b>Note:</b> Always qualify this method with the class name, e.g.,
<i>Memory.wrap(...)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arr</code> - the given primitive array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>Memory</i> for read operations</dd>
</dl>
</li>
</ul>
<a name="wrap-short:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../com/yahoo/memory/Memory.html" title="class in com.yahoo.memory">Memory</a>&nbsp;wrap(short[]&nbsp;arr)</pre>
<div class="block">Wraps the given primitive array for read operations assuming native byte order. If the array
size is zero, backing storage and byte order of the returned <i>Memory</i> object are unspecified.
<p><b>Note:</b> Always qualify this method with the class name, e.g.,
<i>Memory.wrap(...)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arr</code> - the given primitive array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>Memory</i> for read operations</dd>
</dl>
</li>
</ul>
<a name="wrap-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../com/yahoo/memory/Memory.html" title="class in com.yahoo.memory">Memory</a>&nbsp;wrap(int[]&nbsp;arr)</pre>
<div class="block">Wraps the given primitive array for read operations assuming native byte order. If the array
size is zero, backing storage and byte order of the returned <i>Memory</i> object are unspecified.
<p><b>Note:</b> Always qualify this method with the class name, e.g.,
<i>Memory.wrap(...)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arr</code> - the given primitive array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>Memory</i> for read operations</dd>
</dl>
</li>
</ul>
<a name="wrap-long:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../com/yahoo/memory/Memory.html" title="class in com.yahoo.memory">Memory</a>&nbsp;wrap(long[]&nbsp;arr)</pre>
<div class="block">Wraps the given primitive array for read operations assuming native byte order. If the array
size is zero, backing storage and byte order of the returned <i>Memory</i> object are unspecified.
<p><b>Note:</b> Always qualify this method with the class name, e.g.,
<i>Memory.wrap(...)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arr</code> - the given primitive array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>Memory</i> for read operations</dd>
</dl>
</li>
</ul>
<a name="wrap-float:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../com/yahoo/memory/Memory.html" title="class in com.yahoo.memory">Memory</a>&nbsp;wrap(float[]&nbsp;arr)</pre>
<div class="block">Wraps the given primitive array for read operations assuming native byte order. If the array
size is zero, backing storage and byte order of the returned <i>Memory</i> object are unspecified.
<p><b>Note:</b> Always qualify this method with the class name, e.g.,
<i>Memory.wrap(...)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arr</code> - the given primitive array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>Memory</i> for read operations</dd>
</dl>
</li>
</ul>
<a name="wrap-double:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../com/yahoo/memory/Memory.html" title="class in com.yahoo.memory">Memory</a>&nbsp;wrap(double[]&nbsp;arr)</pre>
<div class="block">Wraps the given primitive array for read operations assuming native byte order. If the array
size is zero, backing storage and byte order of the returned <i>Memory</i> object are unspecified.
<p><b>Note:</b> Always qualify this method with the class name, e.g.,
<i>Memory.wrap(...)</i>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arr</code> - the given primitive array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <i>Memory</i> for read operations</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</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-long-boolean:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBooleanArray</h4>
<pre>public abstract&nbsp;void&nbsp;getBooleanArray(long&nbsp;offsetBytes,
boolean[]&nbsp;dstArray,
int&nbsp;dstOffsetBooleans,
int&nbsp;lengthBooleans)</pre>
<div class="block">Gets the boolean array at the given offset</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this Memory start</dd>
<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-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</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-long-byte:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getByteArray</h4>
<pre>public abstract&nbsp;void&nbsp;getByteArray(long&nbsp;offsetBytes,
byte[]&nbsp;dstArray,
int&nbsp;dstOffsetBytes,
int&nbsp;lengthBytes)</pre>
<div class="block">Gets the byte array at the given offset</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this Memory start</dd>
<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-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</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-long-char:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCharArray</h4>
<pre>public abstract&nbsp;void&nbsp;getCharArray(long&nbsp;offsetBytes,
char[]&nbsp;dstArray,
int&nbsp;dstOffsetChars,
int&nbsp;lengthChars)</pre>
<div class="block">Gets the char array at the given offset</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this Memory start</dd>
<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="getCharsFromUtf8-long-int-java.lang.Appendable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCharsFromUtf8</h4>
<pre>public abstract&nbsp;int&nbsp;getCharsFromUtf8(long&nbsp;offsetBytes,
int&nbsp;utf8LengthBytes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang">Appendable</a>&nbsp;dst)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
<a href="../../../com/yahoo/memory/Utf8CodingException.html" title="class in com.yahoo.memory">Utf8CodingException</a></pre>
<div class="block">Gets UTF-8 encoded bytes from this Memory, starting at offsetBytes to a length of
utf8LengthBytes, decodes them into characters and appends them to the given Appendable.
This is specifically designed to reduce the production of intermediate objects (garbage),
thus significantly reducing pressure on the JVM Garbage Collector.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to the Memory start</dd>
<dd><code>utf8LengthBytes</code> - the number of encoded UTF-8 bytes to decode. It is assumed that the
caller has the correct number of utf8 bytes required to decode the number of characters
to be appended to dst. Characters outside the ASCII range can require 2, 3 or 4 bytes per
character to decode.</dd>
<dd><code>dst</code> - the destination Appendable to append the decoded characters to.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of characters decoded</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if dst.append() throws IOException</dd>
<dd><code><a href="../../../com/yahoo/memory/Utf8CodingException.html" title="class in com.yahoo.memory">Utf8CodingException</a></code> - in case of malformed or illegal UTF-8 input</dd>
</dl>
</li>
</ul>
<a name="getCharsFromUtf8-long-int-java.lang.StringBuilder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCharsFromUtf8</h4>
<pre>public abstract&nbsp;int&nbsp;getCharsFromUtf8(long&nbsp;offsetBytes,
int&nbsp;utf8LengthBytes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;dst)
throws <a href="../../../com/yahoo/memory/Utf8CodingException.html" title="class in com.yahoo.memory">Utf8CodingException</a></pre>
<div class="block">Gets UTF-8 encoded bytes from this Memory, starting at offsetBytes to a length of
utf8LengthBytes, decodes them into characters and appends them to the given StringBuilder.
This method does *not* reset the length of the destination StringBuilder before appending
characters to it.
This is specifically designed to reduce the production of intermediate objects (garbage),
thus significantly reducing pressure on the JVM Garbage Collector.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to the Memory start</dd>
<dd><code>utf8LengthBytes</code> - the number of encoded UTF-8 bytes to decode. It is assumed that the
caller has the correct number of utf8 bytes required to decode the number of characters
to be appended to dst. Characters outside the ASCII range can require 2, 3 or 4 bytes per
character to decode.</dd>
<dd><code>dst</code> - the destination StringBuilder to append decoded characters to.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of characters decoded.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../com/yahoo/memory/Utf8CodingException.html" title="class in com.yahoo.memory">Utf8CodingException</a></code> - in case of malformed or illegal UTF-8 input</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</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-long-double:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDoubleArray</h4>
<pre>public abstract&nbsp;void&nbsp;getDoubleArray(long&nbsp;offsetBytes,
double[]&nbsp;dstArray,
int&nbsp;dstOffsetDoubles,
int&nbsp;lengthDoubles)</pre>
<div class="block">Gets the double array at the given offset</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this Memory start</dd>
<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-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</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-long-float:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFloatArray</h4>
<pre>public abstract&nbsp;void&nbsp;getFloatArray(long&nbsp;offsetBytes,
float[]&nbsp;dstArray,
int&nbsp;dstOffsetFloats,
int&nbsp;lengthFloats)</pre>
<div class="block">Gets the float array at the given offset</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this Memory start</dd>
<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-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</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-long-int:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIntArray</h4>
<pre>public abstract&nbsp;void&nbsp;getIntArray(long&nbsp;offsetBytes,
int[]&nbsp;dstArray,
int&nbsp;dstOffsetInts,
int&nbsp;lengthInts)</pre>
<div class="block">Gets the int array at the given offset</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this Memory start</dd>
<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-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</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-long:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLongArray</h4>
<pre>public abstract&nbsp;void&nbsp;getLongArray(long&nbsp;offsetBytes,
long[]&nbsp;dstArray,
int&nbsp;dstOffsetLongs,
int&nbsp;lengthLongs)</pre>
<div class="block">Gets the long array at the given offset</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this Memory start</dd>
<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-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</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-long-short:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getShortArray</h4>
<pre>public abstract&nbsp;void&nbsp;getShortArray(long&nbsp;offsetBytes,
short[]&nbsp;dstArray,
int&nbsp;dstOffsetShorts,
int&nbsp;lengthShorts)</pre>
<div class="block">Gets the short array at the given offset</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - offset bytes relative to this Memory start</dd>
<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.Memory-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/Memory.html" title="class in com.yahoo.memory">Memory</a>&nbsp;that,
long&nbsp;thatOffsetBytes,
long&nbsp;thatLengthBytes)</pre>
<div class="block">Compares the bytes of this Memory to <i>that</i> Memory.
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 Memory</i></dd>
<dd><code>thisLengthBytes</code> - the length of the region to compare from <i>this Memory</i></dd>
<dd><code>that</code> - the other Memory to compare with</dd>
<dd><code>thatOffsetBytes</code> - the starting offset for <i>that Memory</i></dd>
<dd><code>thatLengthBytes</code> - the length of the region to compare from <i>that Memory</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="copyTo-long-com.yahoo.memory.WritableMemory-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyTo</h4>
<pre>public abstract&nbsp;void&nbsp;copyTo(long&nbsp;srcOffsetBytes,
<a href="../../../com/yahoo/memory/WritableMemory.html" title="class in com.yahoo.memory">WritableMemory</a>&nbsp;destination,
long&nbsp;dstOffsetBytes,
long&nbsp;lengthBytes)</pre>
<div class="block">Copies bytes from a source range of this Memory to a destination range of the given Memory
with the same semantics when copying between overlapping ranges of bytes as method
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#arraycopy-java.lang.Object-int-java.lang.Object-int-int-" title="class or interface in java.lang"><code>System.arraycopy(Object, int, Object, int, int)</code></a> has. However, if the source
and the destination ranges are exactly the same, this method 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>, because it should never be needed in real-world scenarios and
therefore indicates a bug.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcOffsetBytes</code> - the source offset for this Memory</dd>
<dd><code>destination</code> - the destination Memory, which may not be Read-Only.</dd>
<dd><code>dstOffsetBytes</code> - the destination offset</dd>
<dd><code>lengthBytes</code> - the number of bytes to copy</dd>
</dl>
</li>
</ul>
<a name="writeTo-long-long-java.nio.channels.WritableByteChannel-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeTo</h4>
<pre>public abstract&nbsp;void&nbsp;writeTo(long&nbsp;offsetBytes,
long&nbsp;lengthBytes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/WritableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">WritableByteChannel</a>&nbsp;out)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Writes bytes from a source range of this Memory to the given <code>WritableByteChannel</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetBytes</code> - the source offset for this Memory</dd>
<dd><code>lengthBytes</code> - the number of bytes to copy</dd>
<dd><code>out</code> - the destination WritableByteChannel</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - may occur while writing to the WritableByteChannel</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/Memory.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/Memory.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/MapHandle.html" title="class in com.yahoo.memory"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../com/yahoo/memory/MemoryRequestServer.html" title="interface 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/Memory.html" target="_top">Frames</a></li>
<li><a href="Memory.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>