opsu-dance/lib/lwjgl-2.9.1/javadoc/org/lwjgl/PointerBuffer.html

1391 lines
57 KiB
HTML
Raw Normal View History

2014-06-30 04:17:04 +02:00
<!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 (version 1.7.0_17) on Mon Dec 02 20:33:02 CET 2013 -->
<title>PointerBuffer (LWJGL API)</title>
<meta name="date" content="2013-12-02">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="PointerBuffer (LWJGL API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PointerBuffer.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="../../org/lwjgl/MemoryUtil.html" title="class in org.lwjgl"><span class="strong">Prev Class</span></a></li>
<li><a href="../../org/lwjgl/PointerWrapper.html" title="interface in org.lwjgl"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?org/lwjgl/PointerBuffer.html" target="_top">Frames</a></li>
<li><a href="PointerBuffer.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All 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><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&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">org.lwjgl</div>
<h2 title="Class PointerBuffer" class="title">Class PointerBuffer</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.lwjgl.PointerBuffer</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.lang.Comparable</dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">PointerBuffer</span>
extends java.lang.Object
implements java.lang.Comparable</pre>
<div class="block">This class is a container for architecture independent pointer data.
The interface mirrors the NIO LongBuffer API for convenience.</div>
<dl><dt><span class="strong">Author:</span></dt>
<dd>Spasi</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.nio.ByteBuffer</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#pointers">pointers</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.nio.Buffer</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#view">view</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.nio.IntBuffer</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#view32">view32</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.nio.LongBuffer</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#view64">view64</a></strong></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#PointerBuffer(java.nio.ByteBuffer)">PointerBuffer</a></strong>(java.nio.ByteBuffer&nbsp;source)</code>
<div class="block">Creates a new PointerBuffer using the specified ByteBuffer as its pointer
data source.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#PointerBuffer(int)">PointerBuffer</a></strong>(int&nbsp;capacity)</code>
<div class="block">Creates a new PointerBuffer with the specified capacity.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#allocateDirect(int)">allocateDirect</a></strong>(int&nbsp;capacity)</code>
<div class="block">Allocates a new pointer buffer.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#asReadOnlyBuffer()">asReadOnlyBuffer</a></strong>()</code>
<div class="block">Creates a new, read-only pointer buffer that shares this buffer's
content.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#capacity()">capacity</a></strong>()</code>
<div class="block">Returns this buffer's capacity.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#clear()">clear</a></strong>()</code>
<div class="block">Clears this buffer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#compact()">compact</a></strong>()</code>
<div class="block">Compacts this buffer&nbsp;&nbsp;<i>(optional operation)</i>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#compareTo(java.lang.Object)">compareTo</a></strong>(java.lang.Object&nbsp;o)</code>
<div class="block">Compares this buffer to another.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#duplicate()">duplicate</a></strong>()</code>
<div class="block">Creates a new pointer buffer that shares this buffer's content.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#equals(java.lang.Object)">equals</a></strong>(java.lang.Object&nbsp;ob)</code>
<div class="block">Tells whether or not this buffer is equal to another object.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#flip()">flip</a></strong>()</code>
<div class="block">Flips this buffer.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#get()">get</a></strong>()</code>
<div class="block">Relative <i>get</i> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#get(int)">get</a></strong>(int&nbsp;index)</code>
<div class="block">Absolute <i>get</i> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#get(long[])">get</a></strong>(long[]&nbsp;dst)</code>
<div class="block">Relative bulk <i>get</i> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#get(long[], int, int)">get</a></strong>(long[]&nbsp;dst,
int&nbsp;offset,
int&nbsp;length)</code>
<div class="block">Relative bulk <i>get</i> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.nio.ByteBuffer</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#getBuffer()">getBuffer</a></strong>()</code>
<div class="block">Returns the ByteBuffer that backs this PointerBuffer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#getPointerSize()">getPointerSize</a></strong>()</code>
<div class="block">Returns the pointer size in bytes, based on the underlying architecture.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#hashCode()">hashCode</a></strong>()</code>
<div class="block">Returns the current hash code of this buffer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#hasRemaining()">hasRemaining</a></strong>()</code>
<div class="block">Tells whether there are any elements between the current position and
the limit.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#is64Bit()">is64Bit</a></strong>()</code>
<div class="block">Returns true if the underlying architecture is 64bit.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#isReadOnly()">isReadOnly</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#limit()">limit</a></strong>()</code>
<div class="block">Returns this buffer's limit.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#limit(int)">limit</a></strong>(int&nbsp;newLimit)</code>
<div class="block">Sets this buffer's limit.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#mark()">mark</a></strong>()</code>
<div class="block">Sets this buffer's mark at its position.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#newInstance(java.nio.ByteBuffer)">newInstance</a></strong>(java.nio.ByteBuffer&nbsp;source)</code>
<div class="block">This method is used in slice and duplicate instead of normal object construction,
so that subclasses can return themselves.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.nio.ByteOrder</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#order()">order</a></strong>()</code>
<div class="block">Retrieves this buffer's byte order.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#position()">position</a></strong>()</code>
<div class="block">Returns this buffer's position.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#position(int)">position</a></strong>(int&nbsp;newPosition)</code>
<div class="block">Sets this buffer's position.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#positionByte()">positionByte</a></strong>()</code>
<div class="block">Returns this buffer's position, in bytes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#put(java.nio.ByteBuffer, int, long)">put</a></strong>(java.nio.ByteBuffer&nbsp;target,
int&nbsp;index,
long&nbsp;l)</code>
<div class="block">Convenience put on a target ByteBuffer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#put(java.nio.ByteBuffer, long)">put</a></strong>(java.nio.ByteBuffer&nbsp;target,
long&nbsp;l)</code>
<div class="block">Convenience put on a target ByteBuffer.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#put(int, long)">put</a></strong>(int&nbsp;index,
long&nbsp;l)</code>
<div class="block">Absolute <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#put(int, org.lwjgl.PointerWrapper)">put</a></strong>(int&nbsp;index,
<a href="../../org/lwjgl/PointerWrapper.html" title="interface in org.lwjgl">PointerWrapper</a>&nbsp;pointer)</code>
<div class="block">Convenience put that accepts PointerWrapper objects.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#put(long)">put</a></strong>(long&nbsp;l)</code>
<div class="block">Relative <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#put(long[])">put</a></strong>(long[]&nbsp;src)</code>
<div class="block">Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#put(long[], int, int)">put</a></strong>(long[]&nbsp;src,
int&nbsp;offset,
int&nbsp;length)</code>
<div class="block">Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#put(org.lwjgl.PointerBuffer)">put</a></strong>(<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;src)</code>
<div class="block">Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#put(org.lwjgl.PointerWrapper)">put</a></strong>(<a href="../../org/lwjgl/PointerWrapper.html" title="interface in org.lwjgl">PointerWrapper</a>&nbsp;pointer)</code>
<div class="block">Convenience put that accepts PointerWrapper objects.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#remaining()">remaining</a></strong>()</code>
<div class="block">Returns the number of elements between the current position and the
limit.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#remainingByte()">remainingByte</a></strong>()</code>
<div class="block">Returns the number of bytes between the current position and the
limit.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#reset()">reset</a></strong>()</code>
<div class="block">Resets this buffer's position to the previously-marked position.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#rewind()">rewind</a></strong>()</code>
<div class="block">Rewinds this buffer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a></code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#slice()">slice</a></strong>()</code>
<div class="block">Creates a new pointer buffer whose content is a shared subsequence of
this buffer's content.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../org/lwjgl/PointerBuffer.html#toString()">toString</a></strong>()</code>
<div class="block">Returns a string summarizing the state of this buffer.</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.Object</h3>
<code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="pointers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pointers</h4>
<pre>protected final&nbsp;java.nio.ByteBuffer pointers</pre>
</li>
</ul>
<a name="view">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>view</h4>
<pre>protected final&nbsp;java.nio.Buffer view</pre>
</li>
</ul>
<a name="view32">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>view32</h4>
<pre>protected final&nbsp;java.nio.IntBuffer view32</pre>
</li>
</ul>
<a name="view64">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>view64</h4>
<pre>protected final&nbsp;java.nio.LongBuffer view64</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="PointerBuffer(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PointerBuffer</h4>
<pre>public&nbsp;PointerBuffer(int&nbsp;capacity)</pre>
<div class="block">Creates a new PointerBuffer with the specified capacity.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>capacity</code> - the PointerBuffer size, in number of pointers</dd></dl>
</li>
</ul>
<a name="PointerBuffer(java.nio.ByteBuffer)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PointerBuffer</h4>
<pre>public&nbsp;PointerBuffer(java.nio.ByteBuffer&nbsp;source)</pre>
<div class="block">Creates a new PointerBuffer using the specified ByteBuffer as its pointer
data source. This is useful for users that do their own memory management
over a big ByteBuffer, instead of allocating many small ones.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>source</code> - the source buffer</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getBuffer()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBuffer</h4>
<pre>public&nbsp;java.nio.ByteBuffer&nbsp;getBuffer()</pre>
<div class="block">Returns the ByteBuffer that backs this PointerBuffer.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the pointer ByteBuffer</dd></dl>
</li>
</ul>
<a name="is64Bit()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>is64Bit</h4>
<pre>public static&nbsp;boolean&nbsp;is64Bit()</pre>
<div class="block">Returns true if the underlying architecture is 64bit.</div>
</li>
</ul>
<a name="getPointerSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPointerSize</h4>
<pre>public static&nbsp;int&nbsp;getPointerSize()</pre>
<div class="block">Returns the pointer size in bytes, based on the underlying architecture.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The pointer size in bytes</dd></dl>
</li>
</ul>
<a name="capacity()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>capacity</h4>
<pre>public final&nbsp;int&nbsp;capacity()</pre>
<div class="block">Returns this buffer's capacity. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The capacity of this buffer</dd></dl>
</li>
</ul>
<a name="position()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>position</h4>
<pre>public final&nbsp;int&nbsp;position()</pre>
<div class="block">Returns this buffer's position. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The position of this buffer</dd></dl>
</li>
</ul>
<a name="positionByte()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>positionByte</h4>
<pre>public final&nbsp;int&nbsp;positionByte()</pre>
<div class="block">Returns this buffer's position, in bytes. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The position of this buffer in bytes.</dd></dl>
</li>
</ul>
<a name="position(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>position</h4>
<pre>public final&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;position(int&nbsp;newPosition)</pre>
<div class="block">Sets this buffer's position. If the mark is defined and larger than the
new position then it is discarded. </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>newPosition</code> - The new position value; must be non-negative
and no larger than the current limit</dd>
<dt><span class="strong">Returns:</span></dt><dd>This buffer</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If the preconditions on <tt>newPosition</tt> do not hold</dd></dl>
</li>
</ul>
<a name="limit()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>limit</h4>
<pre>public final&nbsp;int&nbsp;limit()</pre>
<div class="block">Returns this buffer's limit. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The limit of this buffer</dd></dl>
</li>
</ul>
<a name="limit(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>limit</h4>
<pre>public final&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;limit(int&nbsp;newLimit)</pre>
<div class="block">Sets this buffer's limit. If the position is larger than the new limit
then it is set to the new limit. If the mark is defined and larger than
the new limit then it is discarded. </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>newLimit</code> - The new limit value; must be non-negative
and no larger than this buffer's capacity</dd>
<dt><span class="strong">Returns:</span></dt><dd>This buffer</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If the preconditions on <tt>newLimit</tt> do not hold</dd></dl>
</li>
</ul>
<a name="mark()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mark</h4>
<pre>public final&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;mark()</pre>
<div class="block">Sets this buffer's mark at its position. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>This buffer</dd></dl>
</li>
</ul>
<a name="reset()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public final&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;reset()</pre>
<div class="block">Resets this buffer's position to the previously-marked position.
<p/>
<p> Invoking this method neither changes nor discards the mark's
value. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>This buffer</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.nio.InvalidMarkException</code> - If the mark has not been set</dd></dl>
</li>
</ul>
<a name="clear()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre>public final&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;clear()</pre>
<div class="block">Clears this buffer. The position is set to zero, the limit is set to
the capacity, and the mark is discarded.
<p/>
<p> Invoke this method before using a sequence of channel-read or
<i>put</i> operations to fill this buffer. For example:
<p/>
<blockquote><pre>
buf.clear(); // Prepare buffer for reading
in.read(buf); // Read data</pre></blockquote>
<p/>
<p> This method does not actually erase the data in the buffer, but it
is named as if it did because it will most often be used in situations
in which that might as well be the case. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>This buffer</dd></dl>
</li>
</ul>
<a name="flip()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flip</h4>
<pre>public final&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;flip()</pre>
<div class="block">Flips this buffer. The limit is set to the current position and then
the position is set to zero. If the mark is defined then it is
discarded.
<p/>
<p> After a sequence of channel-read or <i>put</i> operations, invoke
this method to prepare for a sequence of channel-write or relative
<i>get</i> operations. For example:
<p/>
<blockquote><pre>
buf.put(magic); // Prepend header
in.read(buf); // Read data into rest of buffer
buf.flip(); // Flip buffer
out.write(buf); // Write header + data to channel</pre></blockquote>
<p/>
<p> This method is often used in conjunction with the <code>compact</code> method when transferring data from
one place to another. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>This buffer</dd></dl>
</li>
</ul>
<a name="rewind()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rewind</h4>
<pre>public final&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;rewind()</pre>
<div class="block">Rewinds this buffer. The position is set to zero and the mark is
discarded.
<p/>
<p> Invoke this method before a sequence of channel-write or <i>get</i>
operations, assuming that the limit has already been set
appropriately. For example:
<p/>
<blockquote><pre>
out.write(buf); // Write remaining data
buf.rewind(); // Rewind buffer
buf.get(array); // Copy data into array</pre></blockquote></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>This buffer</dd></dl>
</li>
</ul>
<a name="remaining()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remaining</h4>
<pre>public final&nbsp;int&nbsp;remaining()</pre>
<div class="block">Returns the number of elements between the current position and the
limit. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The number of elements remaining in this buffer</dd></dl>
</li>
</ul>
<a name="remainingByte()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remainingByte</h4>
<pre>public final&nbsp;int&nbsp;remainingByte()</pre>
<div class="block">Returns the number of bytes between the current position and the
limit. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The number of bytes remaining in this buffer</dd></dl>
</li>
</ul>
<a name="hasRemaining()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasRemaining</h4>
<pre>public final&nbsp;boolean&nbsp;hasRemaining()</pre>
<div class="block">Tells whether there are any elements between the current position and
the limit. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd><tt>true</tt> if, and only if, there is at least one element
remaining in this buffer</dd></dl>
</li>
</ul>
<a name="allocateDirect(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allocateDirect</h4>
<pre>public static&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;allocateDirect(int&nbsp;capacity)</pre>
<div class="block">Allocates a new pointer buffer.
<p/>
<p> The new buffer's position will be zero, its limit will be its
capacity, and its mark will be undefined. </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>capacity</code> - The new buffer's capacity, in pointers</dd>
<dt><span class="strong">Returns:</span></dt><dd>The new pointer buffer</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If the <tt>capacity</tt> is a negative integer</dd></dl>
</li>
</ul>
<a name="newInstance(java.nio.ByteBuffer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newInstance</h4>
<pre>protected&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;newInstance(java.nio.ByteBuffer&nbsp;source)</pre>
<div class="block">This method is used in slice and duplicate instead of normal object construction,
so that subclasses can return themselves.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>source</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd>A new PointerBuffer instance</dd></dl>
</li>
</ul>
<a name="slice()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>slice</h4>
<pre>public&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;slice()</pre>
<div class="block">Creates a new pointer buffer whose content is a shared subsequence of
this buffer's content.
<p/>
<p> The content of the new buffer will start at this buffer's current
position. Changes to this buffer's content will be visible in the new
buffer, and vice versa; the two buffers' position, limit, and mark
values will be independent.
<p/>
<p> The new buffer's position will be zero, its capacity and its limit
will be the number of longs remaining in this buffer, and its mark
will be undefined. The new buffer will be direct if, and only if, this
buffer is direct, and it will be read-only if, and only if, this buffer
is read-only. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The new pointer buffer</dd></dl>
</li>
</ul>
<a name="duplicate()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>duplicate</h4>
<pre>public&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;duplicate()</pre>
<div class="block">Creates a new pointer buffer that shares this buffer's content.
<p/>
<p> The content of the new buffer will be that of this buffer. Changes
to this buffer's content will be visible in the new buffer, and vice
versa; the two buffers' position, limit, and mark values will be
independent.
<p/>
<p> The new buffer's capacity, limit and position will be
identical to those of this buffer. The new buffer will be direct if,
and only if, this buffer is direct, and it will be read-only if, and
only if, this buffer is read-only. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The new pointer buffer</dd></dl>
</li>
</ul>
<a name="asReadOnlyBuffer()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asReadOnlyBuffer</h4>
<pre>public&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;asReadOnlyBuffer()</pre>
<div class="block">Creates a new, read-only pointer buffer that shares this buffer's
content.
<p/>
<p> The content of the new buffer will be that of this buffer. Changes
to this buffer's content will be visible in the new buffer; the new
buffer itself, however, will be read-only and will not allow the shared
content to be modified. The two buffers' position, limit, and mark
values will be independent.
<p/>
<p> The new buffer's capacity, limit and position will be
identical to those of this buffer.
<p/>
<p> If this buffer is itself read-only then this method behaves in
exactly the same way as the <a href="../../org/lwjgl/PointerBuffer.html#duplicate()"><code>duplicate</code></a> method. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The new, read-only pointer buffer</dd></dl>
</li>
</ul>
<a name="isReadOnly()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isReadOnly</h4>
<pre>public&nbsp;boolean&nbsp;isReadOnly()</pre>
</li>
</ul>
<a name="get()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public&nbsp;long&nbsp;get()</pre>
<div class="block">Relative <i>get</i> method. Reads the long at this buffer's
current position, and then increments the position. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The long at the buffer's current position</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.nio.BufferUnderflowException</code> - If the buffer's current position is not smaller than its limit</dd></dl>
</li>
</ul>
<a name="put(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;put(long&nbsp;l)</pre>
<div class="block">Relative <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
<p/>
<p> Writes the given long into this buffer at the current
position, and then increments the position. </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>l</code> - The long to be written</dd>
<dt><span class="strong">Returns:</span></dt><dd>This buffer</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.nio.BufferOverflowException</code> - If this buffer's current position is not smaller than its limit</dd>
<dd><code>java.nio.ReadOnlyBufferException</code> - If this buffer is read-only</dd></dl>
</li>
</ul>
<a name="put(org.lwjgl.PointerWrapper)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;put(<a href="../../org/lwjgl/PointerWrapper.html" title="interface in org.lwjgl">PointerWrapper</a>&nbsp;pointer)</pre>
<div class="block">Convenience put that accepts PointerWrapper objects.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../org/lwjgl/PointerBuffer.html#put(long)"><code>put(long)</code></a></dd></dl>
</li>
</ul>
<a name="put(java.nio.ByteBuffer, long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public static&nbsp;void&nbsp;put(java.nio.ByteBuffer&nbsp;target,
long&nbsp;l)</pre>
<div class="block">Convenience put on a target ByteBuffer.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>target</code> - the target ByteBuffer</dd><dd><code>l</code> - the long value to be written</dd></dl>
</li>
</ul>
<a name="get(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public&nbsp;long&nbsp;get(int&nbsp;index)</pre>
<div class="block">Absolute <i>get</i> method. Reads the long at the given
index. </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>index</code> - The index from which the long will be read</dd>
<dt><span class="strong">Returns:</span></dt><dd>The long at the given index</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.IndexOutOfBoundsException</code> - If <tt>index</tt> is negative
or not smaller than the buffer's limit</dd></dl>
</li>
</ul>
<a name="put(int, long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;put(int&nbsp;index,
long&nbsp;l)</pre>
<div class="block">Absolute <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
<p/>
<p> Writes the given long into this buffer at the given
index. </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>index</code> - The index at which the long will be written</dd><dd><code>l</code> - The long value to be written</dd>
<dt><span class="strong">Returns:</span></dt><dd>This buffer</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.IndexOutOfBoundsException</code> - If <tt>index</tt> is negative
or not smaller than the buffer's limit</dd>
<dd><code>java.nio.ReadOnlyBufferException</code> - If this buffer is read-only</dd></dl>
</li>
</ul>
<a name="put(int, org.lwjgl.PointerWrapper)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;put(int&nbsp;index,
<a href="../../org/lwjgl/PointerWrapper.html" title="interface in org.lwjgl">PointerWrapper</a>&nbsp;pointer)</pre>
<div class="block">Convenience put that accepts PointerWrapper objects.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../org/lwjgl/PointerBuffer.html#put(int, long)"><code>put(int, long)</code></a></dd></dl>
</li>
</ul>
<a name="put(java.nio.ByteBuffer, int, long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public static&nbsp;void&nbsp;put(java.nio.ByteBuffer&nbsp;target,
int&nbsp;index,
long&nbsp;l)</pre>
<div class="block">Convenience put on a target ByteBuffer.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>target</code> - the target ByteBuffer</dd><dd><code>index</code> - the index at which the long will be written</dd><dd><code>l</code> - the long value to be written</dd></dl>
</li>
</ul>
<a name="get(long[], int, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;get(long[]&nbsp;dst,
int&nbsp;offset,
int&nbsp;length)</pre>
<div class="block">Relative bulk <i>get</i> method.
<p/>
<p> This method transfers longs from this buffer into the given
destination array. If there are fewer longs remaining in the
buffer than are required to satisfy the request, that is, if
<tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
longs are transferred and a <code>BufferUnderflowException</code> is
thrown.
<p/>
<p> Otherwise, this method copies <tt>length</tt> longs from this
buffer into the given array, starting at the current position of this
buffer and at the given offset in the array. The position of this
buffer is then incremented by <tt>length</tt>.
<p/>
<p> In other words, an invocation of this method of the form
<tt>src.get(dst,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
the loop
<p/>
<pre>
for (int i = off; i < off + len; i++)
dst[i] = src.get(); </pre>
<p/>
except that it first checks that there are sufficient longs in
this buffer and it is potentially much more efficient. </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>dst</code> - The array into which longs are to be written</dd><dd><code>offset</code> - The offset within the array of the first long to be
written; must be non-negative and no larger than
<tt>dst.length</tt></dd><dd><code>length</code> - The maximum number of longs to be written to the given
array; must be non-negative and no larger than
<tt>dst.length - offset</tt></dd>
<dt><span class="strong">Returns:</span></dt><dd>This buffer</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.nio.BufferUnderflowException</code> - If there are fewer than <tt>length</tt> longs
remaining in this buffer</dd>
<dd><code>java.lang.IndexOutOfBoundsException</code> - If the preconditions on the <tt>offset</tt> and <tt>length</tt>
parameters do not hold</dd></dl>
</li>
</ul>
<a name="get(long[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;get(long[]&nbsp;dst)</pre>
<div class="block">Relative bulk <i>get</i> method.
<p/>
<p> This method transfers longs from this buffer into the given
destination array. An invocation of this method of the form
<tt>src.get(a)</tt> behaves in exactly the same way as the invocation
<p/>
<pre>
src.get(a, 0, a.length) </pre></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>This buffer</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.nio.BufferUnderflowException</code> - If there are fewer than <tt>length</tt> longs
remaining in this buffer</dd></dl>
</li>
</ul>
<a name="put(org.lwjgl.PointerBuffer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;put(<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;src)</pre>
<div class="block">Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
<p/>
<p> This method transfers the longs remaining in the given source
buffer into this buffer. If there are more longs remaining in the
source buffer than in this buffer, that is, if
<tt>src.remaining()</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>,
then no longs are transferred and a <code>BufferOverflowException</code> is thrown.
<p/>
<p> Otherwise, this method copies
<i>n</i>&nbsp;=&nbsp;<tt>src.remaining()</tt> longs from the given
buffer into this buffer, starting at each buffer's current position.
The positions of both buffers are then incremented by <i>n</i>.
<p/>
<p> In other words, an invocation of this method of the form
<tt>dst.put(src)</tt> has exactly the same effect as the loop
<p/>
<pre>
while (src.hasRemaining())
dst.put(src.get()); </pre>
<p/>
except that it first checks that there is sufficient space in this
buffer and it is potentially much more efficient. </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>src</code> - The source buffer from which longs are to be read;
must not be this buffer</dd>
<dt><span class="strong">Returns:</span></dt><dd>This buffer</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.nio.BufferOverflowException</code> - If there is insufficient space in this buffer
for the remaining longs in the source buffer</dd>
<dd><code>java.lang.IllegalArgumentException</code> - If the source buffer is this buffer</dd>
<dd><code>java.nio.ReadOnlyBufferException</code> - If this buffer is read-only</dd></dl>
</li>
</ul>
<a name="put(long[], int, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;put(long[]&nbsp;src,
int&nbsp;offset,
int&nbsp;length)</pre>
<div class="block">Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
<p/>
<p> This method transfers longs into this buffer from the given
source array. If there are more longs to be copied from the array
than remain in this buffer, that is, if
<tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
longs are transferred and a <code>BufferOverflowException</code> is
thrown.
<p/>
<p> Otherwise, this method copies <tt>length</tt> longs from the
given array into this buffer, starting at the given offset in the array
and at the current position of this buffer. The position of this buffer
is then incremented by <tt>length</tt>.
<p/>
<p> In other words, an invocation of this method of the form
<tt>dst.put(src,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
the loop
<p/>
<pre>
for (int i = off; i < off + len; i++)
dst.put(a[i]); </pre>
<p/>
except that it first checks that there is sufficient space in this
buffer and it is potentially much more efficient. </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>src</code> - The array from which longs are to be read</dd><dd><code>offset</code> - The offset within the array of the first long to be read;
must be non-negative and no larger than <tt>array.length</tt></dd><dd><code>length</code> - The number of longs to be read from the given array;
must be non-negative and no larger than
<tt>array.length - offset</tt></dd>
<dt><span class="strong">Returns:</span></dt><dd>This buffer</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.nio.BufferOverflowException</code> - If there is insufficient space in this buffer</dd>
<dd><code>java.lang.IndexOutOfBoundsException</code> - If the preconditions on the <tt>offset</tt> and <tt>length</tt>
parameters do not hold</dd>
<dd><code>java.nio.ReadOnlyBufferException</code> - If this buffer is read-only</dd></dl>
</li>
</ul>
<a name="put(long[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public final&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;put(long[]&nbsp;src)</pre>
<div class="block">Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
<p/>
<p> This method transfers the entire content of the given source
long array into this buffer. An invocation of this method of the
form <tt>dst.put(a)</tt> behaves in exactly the same way as the
invocation
<p/>
<pre>
dst.put(a, 0, a.length) </pre></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>This buffer</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.nio.BufferOverflowException</code> - If there is insufficient space in this buffer</dd>
<dd><code>java.nio.ReadOnlyBufferException</code> - If this buffer is read-only</dd></dl>
</li>
</ul>
<a name="compact()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compact</h4>
<pre>public&nbsp;<a href="../../org/lwjgl/PointerBuffer.html" title="class in org.lwjgl">PointerBuffer</a>&nbsp;compact()</pre>
<div class="block">Compacts this buffer&nbsp;&nbsp;<i>(optional operation)</i>.
<p/>
<p> The longs between the buffer's current position and its limit,
if any, are copied to the beginning of the buffer. That is, the
long at index <i>p</i>&nbsp;=&nbsp;<tt>position()</tt> is copied
to index zero, the long at index <i>p</i>&nbsp;+&nbsp;1 is copied
to index one, and so forth until the long at index
<tt>limit()</tt>&nbsp;-&nbsp;1 is copied to index
<i>n</i>&nbsp;=&nbsp;<tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>&nbsp;-&nbsp;<i>p</i>.
The buffer's position is then set to <i>n+1</i> and its limit is set to
its capacity. The mark, if defined, is discarded.
<p/>
<p> The buffer's position is set to the number of longs copied,
rather than to zero, so that an invocation of this method can be
followed immediately by an invocation of another relative <i>put</i>
method. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>This buffer</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.nio.ReadOnlyBufferException</code> - If this buffer is read-only</dd></dl>
</li>
</ul>
<a name="order()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>order</h4>
<pre>public&nbsp;java.nio.ByteOrder&nbsp;order()</pre>
<div class="block">Retrieves this buffer's byte order.
<p/>
<p> The byte order of a pointer buffer created by allocation or by
wrapping an existing <tt>long</tt> array is the <code></code>native order<code></code> of the underlying
hardware. The byte order of a pointer buffer created as a <a
href="ByteBuffer.html#views">view</a> of a byte buffer is that of the
byte buffer at the moment that the view is created. </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>This buffer's byte order</dd></dl>
</li>
</ul>
<a name="toString()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<div class="block">Returns a string summarizing the state of this buffer. </p></div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>A summary string</dd></dl>
</li>
</ul>
<a name="hashCode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre>public&nbsp;int&nbsp;hashCode()</pre>
<div class="block">Returns the current hash code of this buffer.
<p/>
<p> The hash code of a pointer buffer depends only upon its remaining
elements; that is, upon the elements from <tt>position()</tt> up to, and
including, the element at <tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>.
<p/>
<p> Because buffer hash codes are content-dependent, it is inadvisable
to use buffers as keys in hash maps or similar data structures unless it
is known that their contents will not change. </p></div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>hashCode</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The current hash code of this buffer</dd></dl>
</li>
</ul>
<a name="equals(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(java.lang.Object&nbsp;ob)</pre>
<div class="block">Tells whether or not this buffer is equal to another object.
<p/>
<p> Two pointer buffers are equal if, and only if,
<p/>
<p><ol>
<p/>
<li><p> They have the same element type, </p></li>
<p/>
<li><p> They have the same number of remaining elements, and
</p></li>
<p/>
<li><p> The two sequences of remaining elements, considered
independently of their starting positions, are pointwise equal.
</p></li>
<p/>
</ol>
<p/>
<p> A pointer buffer is not equal to any other type of object. </p></div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>ob</code> - The object to which this buffer is to be compared</dd>
<dt><span class="strong">Returns:</span></dt><dd><tt>true</tt> if, and only if, this buffer is equal to the
given object</dd></dl>
</li>
</ul>
<a name="compareTo(java.lang.Object)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>compareTo</h4>
<pre>public&nbsp;int&nbsp;compareTo(java.lang.Object&nbsp;o)</pre>
<div class="block">Compares this buffer to another.
<p/>
<p> Two pointer buffers are compared by comparing their sequences of
remaining elements lexicographically, without regard to the starting
position of each sequence within its corresponding buffer.
<p/>
<p> A pointer buffer is not comparable to any other type of object.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code>compareTo</code>&nbsp;in interface&nbsp;<code>java.lang.Comparable</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>A negative integer, zero, or a positive integer as this buffer
is less than, equal to, or greater than the given buffer</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PointerBuffer.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="../../org/lwjgl/MemoryUtil.html" title="class in org.lwjgl"><span class="strong">Prev Class</span></a></li>
<li><a href="../../org/lwjgl/PointerWrapper.html" title="interface in org.lwjgl"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?org/lwjgl/PointerBuffer.html" target="_top">Frames</a></li>
<li><a href="PointerBuffer.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All 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><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&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><i>Copyright &#169; 2002-2009 lwjgl.org. All Rights Reserved.</i></small></p>
</body>
</html>