<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.5) on Tue Jan 21 20:13:53 EST 2020 -->
<title>P-Index (PTP API Specification)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="dc.created" content="2020-01-21">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
<script type="text/javascript" src="../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../jquery/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="P-Index (PTP API Specification)";
        }
    }
    catch(err) {
    }
//-->
var pathtoroot = "../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../index.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>PTP</b><br>Release 7.0</div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">J</a>&nbsp;<a href="index-11.html">L</a>&nbsp;<a href="index-12.html">M</a>&nbsp;<a href="index-13.html">N</a>&nbsp;<a href="index-14.html">O</a>&nbsp;<a href="index-15.html">P</a>&nbsp;<a href="index-16.html">Q</a>&nbsp;<a href="index-17.html">R</a>&nbsp;<a href="index-18.html">S</a>&nbsp;<a href="index-19.html">T</a>&nbsp;<a href="index-20.html">U</a>&nbsp;<a href="index-21.html">V</a>&nbsp;<a href="index-22.html">W</a>&nbsp;<a href="index-23.html">X</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="../allpackages-index.html">All&nbsp;Packages</a><a id="I:P">
<!--   -->
</a>
<h2 class="title">P</h2>
<dl>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/toolopts/ToolPane.html#paneName">paneName</a></span> - Variable in class org.eclipse.ptp.etfw.toolopts.<a href="../org/eclipse/ptp/etfw/toolopts/ToolPane.html" title="class in org.eclipse.ptp.etfw.toolopts">ToolPane</a></dt>
<dd>
<div class="block">The name associated with this tool pane</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/toolopts/ToolPane.html#paneType">paneType</a></span> - Variable in class org.eclipse.ptp.etfw.toolopts.<a href="../org/eclipse/ptp/etfw/toolopts/ToolPane.html" title="class in org.eclipse.ptp.etfw.toolopts">ToolPane</a></dt>
<dd>
<div class="block">The type of tool the parameter defined by this pane goes to</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/toolopts/ExternalToolProcess.html#para">para</a></span> - Variable in class org.eclipse.ptp.etfw.toolopts.<a href="../org/eclipse/ptp/etfw/toolopts/ExternalToolProcess.html" title="class in org.eclipse.ptp.etfw.toolopts">ExternalToolProcess</a></dt>
<dd>
<div class="block">Parametric elements</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html#PARA_ALL_COMBO">PARA_ALL_COMBO</a></span> - Static variable in interface org.eclipse.ptp.etfw.<a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html" title="interface in org.eclipse.ptp.etfw">IToolLaunchConfigurationConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html#PARA_ARG_BOOLS">PARA_ARG_BOOLS</a></span> - Static variable in interface org.eclipse.ptp.etfw.<a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html" title="interface in org.eclipse.ptp.etfw">IToolLaunchConfigurationConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html#PARA_ARG_NAMES">PARA_ARG_NAMES</a></span> - Static variable in interface org.eclipse.ptp.etfw.<a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html" title="interface in org.eclipse.ptp.etfw">IToolLaunchConfigurationConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html#PARA_ARG_VALUES">PARA_ARG_VALUES</a></span> - Static variable in interface org.eclipse.ptp.etfw.<a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html" title="interface in org.eclipse.ptp.etfw">IToolLaunchConfigurationConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html#PARA_NUM_PROCESSORS">PARA_NUM_PROCESSORS</a></span> - Static variable in interface org.eclipse.ptp.etfw.<a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html" title="interface in org.eclipse.ptp.etfw">IToolLaunchConfigurationConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html#PARA_OPT_LEVELS">PARA_OPT_LEVELS</a></span> - Static variable in interface org.eclipse.ptp.etfw.<a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html" title="interface in org.eclipse.ptp.etfw">IToolLaunchConfigurationConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html#PARA_PERF_SCRIPT">PARA_PERF_SCRIPT</a></span> - Static variable in interface org.eclipse.ptp.etfw.<a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html" title="interface in org.eclipse.ptp.etfw">IToolLaunchConfigurationConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html#PARA_USE_PARAMETRIC">PARA_USE_PARAMETRIC</a></span> - Static variable in interface org.eclipse.ptp.etfw.<a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html" title="interface in org.eclipse.ptp.etfw">IToolLaunchConfigurationConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html#PARA_VAR_BOOLS">PARA_VAR_BOOLS</a></span> - Static variable in interface org.eclipse.ptp.etfw.<a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html" title="interface in org.eclipse.ptp.etfw">IToolLaunchConfigurationConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html#PARA_VAR_NAMES">PARA_VAR_NAMES</a></span> - Static variable in interface org.eclipse.ptp.etfw.<a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html" title="interface in org.eclipse.ptp.etfw">IToolLaunchConfigurationConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html#PARA_VAR_VALUES">PARA_VAR_VALUES</a></span> - Static variable in interface org.eclipse.ptp.etfw.<a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html" title="interface in org.eclipse.ptp.etfw">IToolLaunchConfigurationConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/toolopts/ExternalToolProcess.Parametric.html#%3Cinit%3E()">Parametric()</a></span> - Constructor for class org.eclipse.ptp.etfw.toolopts.<a href="../org/eclipse/ptp/etfw/toolopts/ExternalToolProcess.Parametric.html" title="class in org.eclipse.ptp.etfw.toolopts">ExternalToolProcess.Parametric</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/views/SimpleTreeTableMarkerView.html#parentMarkerAttrib">parentMarkerAttrib</a></span> - Variable in class org.eclipse.ptp.pldt.common.views.<a href="../org/eclipse/ptp/pldt/common/views/SimpleTreeTableMarkerView.html" title="class in org.eclipse.ptp.pldt.common.views">SimpleTreeTableMarkerView</a></dt>
<dd>
<div class="block">marker attribute indicating parent node.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/toolopts/ToolIO.html#pathFlag">pathFlag</a></span> - Variable in class org.eclipse.ptp.etfw.toolopts.<a href="../org/eclipse/ptp/etfw/toolopts/ToolIO.html" title="class in org.eclipse.ptp.etfw.toolopts">ToolIO</a></dt>
<dd>
<div class="block">The flag or command preceding the path to the I/O file or directory</div>
</dd>
<dt><a href="../org/eclipse/ptp/debug/core/model/PDebugElementState.html" title="class in org.eclipse.ptp.debug.core.model"><span class="typeNameLink">PDebugElementState</span></a> - Class in <a href="../org/eclipse/ptp/debug/core/model/package-summary.html">org.eclipse.ptp.debug.core.model</a></dt>
<dd>
<div class="block">Debug element states</div>
</dd>
<dt><a href="../org/eclipse/ptp/debug/core/pdi/PDIException.html" title="class in org.eclipse.ptp.debug.core.pdi"><span class="typeNameLink">PDIException</span></a> - Exception in <a href="../org/eclipse/ptp/debug/core/pdi/package-summary.html">org.eclipse.ptp.debug.core.pdi</a></dt>
<dd>
<div class="block">Thrown to indicate some unexpected error has occurred</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/pdi/PDIException.html#%3Cinit%3E(org.eclipse.ptp.debug.core.TaskSet)">PDIException(TaskSet)</a></span> - Constructor for exception org.eclipse.ptp.debug.core.pdi.<a href="../org/eclipse/ptp/debug/core/pdi/PDIException.html" title="class in org.eclipse.ptp.debug.core.pdi">PDIException</a></dt>
<dd>
<div class="block">Constructs a new exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/pdi/PDIException.html#%3Cinit%3E(org.eclipse.ptp.debug.core.TaskSet,java.lang.String)">PDIException(TaskSet, String)</a></span> - Constructor for exception org.eclipse.ptp.debug.core.pdi.<a href="../org/eclipse/ptp/debug/core/pdi/PDIException.html" title="class in org.eclipse.ptp.debug.core.pdi">PDIException</a></dt>
<dd>
<div class="block">Constructs a new exception.</div>
</dd>
<dt><a href="../org/eclipse/ptp/debug/core/pdi/PDIInternalException.html" title="class in org.eclipse.ptp.debug.core.pdi"><span class="typeNameLink">PDIInternalException</span></a> - Exception in <a href="../org/eclipse/ptp/debug/core/pdi/package-summary.html">org.eclipse.ptp.debug.core.pdi</a></dt>
<dd>
<div class="block">Thrown to indicate some unexpected internal error has occurred</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/pdi/PDIInternalException.html#%3Cinit%3E(org.eclipse.ptp.debug.core.TaskSet)">PDIInternalException(TaskSet)</a></span> - Constructor for exception org.eclipse.ptp.debug.core.pdi.<a href="../org/eclipse/ptp/debug/core/pdi/PDIInternalException.html" title="class in org.eclipse.ptp.debug.core.pdi">PDIInternalException</a></dt>
<dd>
<div class="block">Constructs a new exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/pdi/PDIInternalException.html#%3Cinit%3E(org.eclipse.ptp.debug.core.TaskSet,java.lang.String)">PDIInternalException(TaskSet, String)</a></span> - Constructor for exception org.eclipse.ptp.debug.core.pdi.<a href="../org/eclipse/ptp/debug/core/pdi/PDIInternalException.html" title="class in org.eclipse.ptp.debug.core.pdi">PDIInternalException</a></dt>
<dd>
<div class="block">Constructs a new exception.</div>
</dd>
<dt><a href="../org/eclipse/ptp/debug/core/pdi/PDILocationFactory.html" title="class in org.eclipse.ptp.debug.core.pdi"><span class="typeNameLink">PDILocationFactory</span></a> - Class in <a href="../org/eclipse/ptp/debug/core/pdi/package-summary.html">org.eclipse.ptp.debug.core.pdi</a></dt>
<dd>
<div class="block">Factory for creating debugger locations</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/pdi/PDILocationFactory.html#%3Cinit%3E()">PDILocationFactory()</a></span> - Constructor for class org.eclipse.ptp.debug.core.pdi.<a href="../org/eclipse/ptp/debug/core/pdi/PDILocationFactory.html" title="class in org.eclipse.ptp.debug.core.pdi">PDILocationFactory</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/eclipse/ptp/debug/core/pdi/PDILocatorComparator.html" title="class in org.eclipse.ptp.debug.core.pdi"><span class="typeNameLink">PDILocatorComparator</span></a> - Class in <a href="../org/eclipse/ptp/debug/core/pdi/package-summary.html">org.eclipse.ptp.debug.core.pdi</a></dt>
<dd>
<div class="block">Class for comparing locators</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/pdi/PDILocatorComparator.html#%3Cinit%3E()">PDILocatorComparator()</a></span> - Constructor for class org.eclipse.ptp.debug.core.pdi.<a href="../org/eclipse/ptp/debug/core/pdi/PDILocatorComparator.html" title="class in org.eclipse.ptp.debug.core.pdi">PDILocatorComparator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/toolopts/IToolUITab.html#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)">performApply(ILaunchConfigurationWorkingCopy)</a></span> - Method in interface org.eclipse.ptp.etfw.toolopts.<a href="../org/eclipse/ptp/etfw/toolopts/IToolUITab.html" title="interface in org.eclipse.ptp.etfw.toolopts">IToolUITab</a></dt>
<dd>
<div class="block">Saves widget values in the tab to the launch configuration</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/toolopts/ToolPane.html#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)">performApply(ILaunchConfigurationWorkingCopy)</a></span> - Method in class org.eclipse.ptp.etfw.toolopts.<a href="../org/eclipse/ptp/etfw/toolopts/ToolPane.html" title="class in org.eclipse.ptp.etfw.toolopts">ToolPane</a></dt>
<dd>
<div class="block">Saves the current pane-state in the supplied configuration</div>
</dd>
<dt><a href="../org/eclipse/ptp/pldt/common/analysis/PldtAstVisitor.html" title="class in org.eclipse.ptp.pldt.common.analysis"><span class="typeNameLink">PldtAstVisitor</span></a> - Class in <a href="../org/eclipse/ptp/pldt/common/analysis/package-summary.html">org.eclipse.ptp.pldt.common.analysis</a></dt>
<dd>
<div class="block">This dom-walker helper collects interesting constructs (currently
 function calls and constants), and adds markers to the source file for
 C/C++ code.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/analysis/PldtAstVisitor.html#%3Cinit%3E(java.util.List,java.lang.String,boolean,org.eclipse.ptp.pldt.common.ScanReturn)">PldtAstVisitor(List&lt;String&gt;, String, boolean, ScanReturn)</a></span> - Constructor for class org.eclipse.ptp.pldt.common.analysis.<a href="../org/eclipse/ptp/pldt/common/analysis/PldtAstVisitor.html" title="class in org.eclipse.ptp.pldt.common.analysis">PldtAstVisitor</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/analysis/PldtAstVisitor.html#%3Cinit%3E(java.util.List,java.lang.String,org.eclipse.ptp.pldt.common.ScanReturn)">PldtAstVisitor(List&lt;String&gt;, String, ScanReturn)</a></span> - Constructor for class org.eclipse.ptp.pldt.common.analysis.<a href="../org/eclipse/ptp/pldt/common/analysis/PldtAstVisitor.html" title="class in org.eclipse.ptp.pldt.common.analysis">PldtAstVisitor</a></dt>
<dd>
<div class="block">Constructor without prefixOnlyMatch arg, assumes false</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html#PLUGIN_ID">PLUGIN_ID</a></span> - Static variable in interface org.eclipse.ptp.debug.core.<a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html" title="interface in org.eclipse.ptp.debug.core">IPDebugConstants</a></dt>
<dd>
<div class="block">C/C++ debug plug-in identifier (value <code>"org.eclipse.ptp.debug.core"</code>).</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/CommonPlugin.html#PLUGIN_ID">PLUGIN_ID</a></span> - Static variable in class org.eclipse.ptp.pldt.common.<a href="../org/eclipse/ptp/pldt/common/CommonPlugin.html" title="class in org.eclipse.ptp.pldt.common">CommonPlugin</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/pdi/model/aif/IAIFValueCharPointer.html#pointerValue()">pointerValue()</a></span> - Method in interface org.eclipse.ptp.debug.core.pdi.model.aif.<a href="../org/eclipse/ptp/debug/core/pdi/model/aif/IAIFValueCharPointer.html" title="interface in org.eclipse.ptp.debug.core.pdi.model.aif">IAIFValueCharPointer</a></dt>
<dd>
<div class="block">Returns address value of this value</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/pdi/model/aif/IAIFValuePointer.html#pointerValue()">pointerValue()</a></span> - Method in interface org.eclipse.ptp.debug.core.pdi.model.aif.<a href="../org/eclipse/ptp/debug/core/pdi/model/aif/IAIFValuePointer.html" title="interface in org.eclipse.ptp.debug.core.pdi.model.aif">IAIFValuePointer</a></dt>
<dd>
<div class="block">Returns the address of the pointer as a BigInteger
 
 TODO: rename to getAddressValue()</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/views/SimpleTableMarkerView.StackList.html#pop()">pop()</a></span> - Method in class org.eclipse.ptp.pldt.common.views.<a href="../org/eclipse/ptp/pldt/common/views/SimpleTableMarkerView.StackList.html" title="class in org.eclipse.ptp.pldt.common.views">SimpleTableMarkerView.StackList</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/views/SimpleTreeTableMarkerView.StackList.html#pop()">pop()</a></span> - Method in class org.eclipse.ptp.pldt.common.views.<a href="../org/eclipse/ptp/pldt/common/views/SimpleTreeTableMarkerView.StackList.html" title="class in org.eclipse.ptp.pldt.common.views">SimpleTreeTableMarkerView.StackList</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/eclipse/ptp/etfw/toolopts/PostProcTool.html" title="class in org.eclipse.ptp.etfw.toolopts"><span class="typeNameLink">PostProcTool</span></a> - Class in <a href="../org/eclipse/ptp/etfw/toolopts/package-summary.html">org.eclipse.ptp.etfw.toolopts</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/toolopts/PostProcTool.html#%3Cinit%3E()">PostProcTool()</a></span> - Constructor for class org.eclipse.ptp.etfw.toolopts.<a href="../org/eclipse/ptp/etfw/toolopts/PostProcTool.html" title="class in org.eclipse.ptp.etfw.toolopts">PostProcTool</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/Artifact.html#PRAGMA">PRAGMA</a></span> - Static variable in class org.eclipse.ptp.pldt.common.<a href="../org/eclipse/ptp/pldt/common/Artifact.html" title="class in org.eclipse.ptp.pldt.common">Artifact</a></dt>
<dd>
<div class="block">Constant used in marker to indicate type of artifact is a pragma</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html#PREF_COMMON_SOURCE_CONTAINERS">PREF_COMMON_SOURCE_CONTAINERS</a></span> - Static variable in interface org.eclipse.ptp.debug.core.<a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html" title="interface in org.eclipse.ptp.debug.core">IPDebugConstants</a></dt>
<dd>
<div class="block">String preference for the common source containers.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html#PREF_DEBUG_COMM_TIMEOUT">PREF_DEBUG_COMM_TIMEOUT</a></span> - Static variable in interface org.eclipse.ptp.debug.core.<a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html" title="interface in org.eclipse.ptp.debug.core">IPDebugConstants</a></dt>
<dd>
<div class="block">Preference setting for debugger communication timeout</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html#PREF_DEBUG_REGISTER_PROC_0">PREF_DEBUG_REGISTER_PROC_0</a></span> - Static variable in interface org.eclipse.ptp.debug.core.<a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html" title="interface in org.eclipse.ptp.debug.core">IPDebugConstants</a></dt>
<dd>
<div class="block">Preference setting for registering process 0 by default</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html#PREF_DEFAULT_DEBUGGER_TYPE">PREF_DEFAULT_DEBUGGER_TYPE</a></span> - Static variable in interface org.eclipse.ptp.debug.core.<a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html" title="interface in org.eclipse.ptp.debug.core">IPDebugConstants</a></dt>
<dd>
<div class="block">Preference setting for the default debugger type</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html#PREF_DEFAULT_EXPRESSION_FORMAT">PREF_DEFAULT_EXPRESSION_FORMAT</a></span> - Static variable in interface org.eclipse.ptp.debug.core.<a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html" title="interface in org.eclipse.ptp.debug.core">IPDebugConstants</a></dt>
<dd>
<div class="block">The identifier of the default expression format to use in the expressions views</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html#PREF_DEFAULT_REGISTER_FORMAT">PREF_DEFAULT_REGISTER_FORMAT</a></span> - Static variable in interface org.eclipse.ptp.debug.core.<a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html" title="interface in org.eclipse.ptp.debug.core">IPDebugConstants</a></dt>
<dd>
<div class="block">Preference setting for the default register format (not used)</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html#PREF_DEFAULT_VARIABLE_FORMAT">PREF_DEFAULT_VARIABLE_FORMAT</a></span> - Static variable in interface org.eclipse.ptp.debug.core.<a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html" title="interface in org.eclipse.ptp.debug.core">IPDebugConstants</a></dt>
<dd>
<div class="block">The identifier of the default variable format to use in the variables view</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html#PREF_INSTRUCTION_STEP_MODE_ON">PREF_INSTRUCTION_STEP_MODE_ON</a></span> - Static variable in interface org.eclipse.ptp.debug.core.<a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html" title="interface in org.eclipse.ptp.debug.core">IPDebugConstants</a></dt>
<dd>
<div class="block">Preference setting for instruction stepping mode (not used)</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/model/ITargetProperties.html#PREF_INSTRUCTION_STEPPING_MODE">PREF_INSTRUCTION_STEPPING_MODE</a></span> - Static variable in interface org.eclipse.ptp.debug.core.model.<a href="../org/eclipse/ptp/debug/core/model/ITargetProperties.html" title="interface in org.eclipse.ptp.debug.core.model">ITargetProperties</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html#PREF_SHOW_FULL_PATHS">PREF_SHOW_FULL_PATHS</a></span> - Static variable in interface org.eclipse.ptp.debug.core.<a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html" title="interface in org.eclipse.ptp.debug.core">IPDebugConstants</a></dt>
<dd>
<div class="block">Preference for displaying full paths in breakpoints</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html#PREF_SOURCE_LOCATIONS">PREF_SOURCE_LOCATIONS</a></span> - Static variable in interface org.eclipse.ptp.debug.core.<a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html" title="interface in org.eclipse.ptp.debug.core">IPDebugConstants</a></dt>
<dd>
<div class="block">The identifier of the common source locations list</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html#PREF_UPDATE_VARIABLES_ON_CHANGE">PREF_UPDATE_VARIABLES_ON_CHANGE</a></span> - Static variable in interface org.eclipse.ptp.debug.core.<a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html" title="interface in org.eclipse.ptp.debug.core">IPDebugConstants</a></dt>
<dd>
<div class="block">Preference setting to update variables on change</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html#PREF_UPDATE_VARIABLES_ON_SUSPEND">PREF_UPDATE_VARIABLES_ON_SUSPEND</a></span> - Static variable in interface org.eclipse.ptp.debug.core.<a href="../org/eclipse/ptp/debug/core/IPDebugConstants.html" title="interface in org.eclipse.ptp.debug.core">IPDebugConstants</a></dt>
<dd>
<div class="block">Preference setting to update variables on suspend</div>
</dd>
<dt><a href="../org/eclipse/ptp/etfw/PreferenceConstants.html" title="class in org.eclipse.ptp.etfw"><span class="typeNameLink">PreferenceConstants</span></a> - Class in <a href="../org/eclipse/ptp/etfw/package-summary.html">org.eclipse.ptp.etfw</a></dt>
<dd>
<div class="block">Preference constants for the external tools framework</div>
</dd>
<dt><a href="../org/eclipse/ptp/core/PreferenceConstants.html" title="interface in org.eclipse.ptp.core"><span class="typeNameLink">PreferenceConstants</span></a> - Interface in <a href="../org/eclipse/ptp/core/package-summary.html">org.eclipse.ptp.core</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/PreferenceConstants.html#%3Cinit%3E()">PreferenceConstants()</a></span> - Constructor for class org.eclipse.ptp.etfw.<a href="../org/eclipse/ptp/etfw/PreferenceConstants.html" title="class in org.eclipse.ptp.etfw">PreferenceConstants</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/eclipse/ptp/core/Preferences.html" title="class in org.eclipse.ptp.core"><span class="typeNameLink">Preferences</span></a> - Class in <a href="../org/eclipse/ptp/core/package-summary.html">org.eclipse.ptp.core</a></dt>
<dd>
<div class="block">Convenience class to facilitate using the new <code>IEclipsePreferences</code> story.</div>
</dd>
<dt><a href="../org/eclipse/ptp/etfw/Preferences.html" title="class in org.eclipse.ptp.etfw"><span class="typeNameLink">Preferences</span></a> - Class in <a href="../org/eclipse/ptp/etfw/package-summary.html">org.eclipse.ptp.etfw</a></dt>
<dd>
<div class="block">Convenience class to facilitate using the new <code>IEclipsePreferences</code> story.</div>
</dd>
<dt><a href="../org/eclipse/ptp/core/PreferencesAdapter.html" title="class in org.eclipse.ptp.core"><span class="typeNameLink">PreferencesAdapter</span></a> - Class in <a href="../org/eclipse/ptp/core/package-summary.html">org.eclipse.ptp.core</a></dt>
<dd>
<div class="block">Adapts <code>IEclipsePreferences</code> to <code>IPreferenceStore</code></div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/core/PreferencesAdapter.html#%3Cinit%3E(java.lang.String)">PreferencesAdapter(String)</a></span> - Constructor for class org.eclipse.ptp.core.<a href="../org/eclipse/ptp/core/PreferencesAdapter.html" title="class in org.eclipse.ptp.core">PreferencesAdapter</a></dt>
<dd>
<div class="block">Initialize with the given Preferences.</div>
</dd>
<dt><a href="../org/eclipse/ptp/rdt/sync/core/PreferenceSyncFileFilterStorage.html" title="class in org.eclipse.ptp.rdt.sync.core"><span class="typeNameLink">PreferenceSyncFileFilterStorage</span></a> - Class in <a href="../org/eclipse/ptp/rdt/sync/core/package-summary.html">org.eclipse.ptp.rdt.sync.core</a></dt>
<dd>
<div class="block">Class for storing file filter in eclipse preferences.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/rdt/sync/core/PreferenceSyncFileFilterStorage.html#%3Cinit%3E()">PreferenceSyncFileFilterStorage()</a></span> - Constructor for class org.eclipse.ptp.rdt.sync.core.<a href="../org/eclipse/ptp/rdt/sync/core/PreferenceSyncFileFilterStorage.html" title="class in org.eclipse.ptp.rdt.sync.core">PreferenceSyncFileFilterStorage</a></dt>
<dd>
<div class="block">Create an instance of a PreferenceSyncFileFilterStorage</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/rdt/sync/core/PreferenceSyncFileFilterStorage.html#%3Cinit%3E(org.eclipse.ptp.rdt.sync.core.PreferenceSyncFileFilterStorage)">PreferenceSyncFileFilterStorage(PreferenceSyncFileFilterStorage)</a></span> - Constructor for class org.eclipse.ptp.rdt.sync.core.<a href="../org/eclipse/ptp/rdt/sync/core/PreferenceSyncFileFilterStorage.html" title="class in org.eclipse.ptp.rdt.sync.core">PreferenceSyncFileFilterStorage</a></dt>
<dd>
<div class="block">Create an instance of a PreferenceSyncFileFilterStorage</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/core/IPTPLaunchConfigurationConstants.html#PREFERRED_DEBUG_LAUNCH_DELEGATE">PREFERRED_DEBUG_LAUNCH_DELEGATE</a></span> - Static variable in interface org.eclipse.ptp.core.<a href="../org/eclipse/ptp/core/IPTPLaunchConfigurationConstants.html" title="interface in org.eclipse.ptp.core">IPTPLaunchConfigurationConstants</a></dt>
<dd>
<div class="block">The default launch delegate for debug launches</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/core/IPTPLaunchConfigurationConstants.html#PREFERRED_RUN_LAUNCH_DELEGATE">PREFERRED_RUN_LAUNCH_DELEGATE</a></span> - Static variable in interface org.eclipse.ptp.core.<a href="../org/eclipse/ptp/core/IPTPLaunchConfigurationConstants.html" title="interface in org.eclipse.ptp.core">IPTPLaunchConfigurationConstants</a></dt>
<dd>
<div class="block">The default launch delegate for normal launches</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/analysis/PldtAstVisitor.html#PREFIX">PREFIX</a></span> - Static variable in class org.eclipse.ptp.pldt.common.analysis.<a href="../org/eclipse/ptp/pldt/common/analysis/PldtAstVisitor.html" title="class in org.eclipse.ptp.pldt.common.analysis">PldtAstVisitor</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/core/PreferenceConstants.html#PREFS_AUTO_START_RMS">PREFS_AUTO_START_RMS</a></span> - Static variable in interface org.eclipse.ptp.core.<a href="../org/eclipse/ptp/core/PreferenceConstants.html" title="interface in org.eclipse.ptp.core">PreferenceConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/core/PreferenceConstants.html#PREFS_OUTPUT_DIR">PREFS_OUTPUT_DIR</a></span> - Static variable in interface org.eclipse.ptp.core.<a href="../org/eclipse/ptp/core/PreferenceConstants.html" title="interface in org.eclipse.ptp.core">PreferenceConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/core/PreferenceConstants.html#PREFS_STORE_LINES">PREFS_STORE_LINES</a></span> - Static variable in interface org.eclipse.ptp.core.<a href="../org/eclipse/ptp/core/PreferenceConstants.html" title="interface in org.eclipse.ptp.core">PreferenceConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/toolopts/ExecTool.html#prependExecution">prependExecution</a></span> - Variable in class org.eclipse.ptp.etfw.toolopts.<a href="../org/eclipse/ptp/etfw/toolopts/ExecTool.html" title="class in org.eclipse.ptp.etfw.toolopts">ExecTool</a></dt>
<dd>
<div class="block">If true the actual executable is an argument passed to one or more additional utilities</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/toolopts/ExternalToolProcess.html#prependExecution">prependExecution</a></span> - Variable in class org.eclipse.ptp.etfw.toolopts.<a href="../org/eclipse/ptp/etfw/toolopts/ExternalToolProcess.html" title="class in org.eclipse.ptp.etfw.toolopts">ExternalToolProcess</a></dt>
<dd>
<div class="block">If true the actual executable is an argument passed to one or more
 additional utilities</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/toolopts/ToolPane.html#prependOpts">prependOpts</a></span> - Variable in class org.eclipse.ptp.etfw.toolopts.<a href="../org/eclipse/ptp/etfw/toolopts/ToolPane.html" title="class in org.eclipse.ptp.etfw.toolopts">ToolPane</a></dt>
<dd>
<div class="block">Added to the beginning of the opt string Default: empty</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/AbstractToolDataManager.html#process(java.lang.String,org.eclipse.debug.core.ILaunchConfiguration,java.lang.String)">process(String, ILaunchConfiguration, String)</a></span> - Method in class org.eclipse.ptp.etfw.<a href="../org/eclipse/ptp/etfw/AbstractToolDataManager.html" title="class in org.eclipse.ptp.etfw">AbstractToolDataManager</a></dt>
<dd>
<div class="block">This is the primary function for processing data generated by a performance analysis tool.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/event/IPDebugEvent.html#PROCESS_SPECIFIC">PROCESS_SPECIFIC</a></span> - Static variable in interface org.eclipse.ptp.debug.core.event.<a href="../org/eclipse/ptp/debug/core/event/IPDebugEvent.html" title="interface in org.eclipse.ptp.debug.core.event">IPDebugEvent</a></dt>
<dd>
<div class="block">Process specific event detail.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/analysis/PldtAstVisitor.html#processExprWithConstant(org.eclipse.cdt.core.dom.ast.IASTExpression)">processExprWithConstant(IASTExpression)</a></span> - Method in class org.eclipse.ptp.pldt.common.analysis.<a href="../org/eclipse/ptp/pldt/common/analysis/PldtAstVisitor.html" title="class in org.eclipse.ptp.pldt.common.analysis">PldtAstVisitor</a></dt>
<dd>
<div class="block">Look for artifacts in an IASTExpression</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/analysis/PldtAstVisitor.html#processFuncName(org.eclipse.cdt.core.dom.ast.IASTName,org.eclipse.cdt.core.dom.ast.IASTExpression)">processFuncName(IASTName, IASTExpression)</a></span> - Method in class org.eclipse.ptp.pldt.common.analysis.<a href="../org/eclipse/ptp/pldt/common/analysis/PldtAstVisitor.html" title="class in org.eclipse.ptp.pldt.common.analysis">PldtAstVisitor</a></dt>
<dd>
<div class="block">Process a function name from an expression and determine if it should be
 marked as an Artifact.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/analysis/PldtAstVisitor.html#processIdExprAsLiteral(org.eclipse.cdt.core.dom.ast.IASTIdExpression)">processIdExprAsLiteral(IASTIdExpression)</a></span> - Method in class org.eclipse.ptp.pldt.common.analysis.<a href="../org/eclipse/ptp/pldt/common/analysis/PldtAstVisitor.html" title="class in org.eclipse.ptp.pldt.common.analysis">PldtAstVisitor</a></dt>
<dd>
<div class="block">Look for artifacts within a IASTIdExpression</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/analysis/PldtAstVisitor.html#processMacroLiteral(org.eclipse.cdt.core.dom.ast.IASTLiteralExpression)">processMacroLiteral(IASTLiteralExpression)</a></span> - Method in class org.eclipse.ptp.pldt.common.analysis.<a href="../org/eclipse/ptp/pldt/common/analysis/PldtAstVisitor.html" title="class in org.eclipse.ptp.pldt.common.analysis">PldtAstVisitor</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/actions/RunAnalyseHandlerBase.html#processResults(org.eclipse.ptp.pldt.common.ScanReturn,org.eclipse.core.resources.IResource)">processResults(ScanReturn, IResource)</a></span> - Method in class org.eclipse.ptp.pldt.common.actions.<a href="../org/eclipse/ptp/pldt/common/actions/RunAnalyseHandlerBase.html" title="class in org.eclipse.ptp.pldt.common.actions">RunAnalyseHandlerBase</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/pdi/IPDISession.html#processRunningEvent(org.eclipse.ptp.debug.core.TaskSet)">processRunningEvent(TaskSet)</a></span> - Method in interface org.eclipse.ptp.debug.core.pdi.<a href="../org/eclipse/ptp/debug/core/pdi/IPDISession.html" title="interface in org.eclipse.ptp.debug.core.pdi">IPDISession</a></dt>
<dd>
<div class="block">Process the running event for the given tasks</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/debug/core/pdi/IPDISession.html#processSupsendedEvent(org.eclipse.ptp.debug.core.TaskSet,int,java.lang.String%5B%5D)">processSupsendedEvent(TaskSet, int, String[])</a></span> - Method in interface org.eclipse.ptp.debug.core.pdi.<a href="../org/eclipse/ptp/debug/core/pdi/IPDISession.html" title="interface in org.eclipse.ptp.debug.core.pdi">IPDISession</a></dt>
<dd>
<div class="block">Process the suspended event for the given tasks</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/toolopts/ToolsOptionsConstants.html#PROJECT_BINARY">PROJECT_BINARY</a></span> - Static variable in class org.eclipse.ptp.etfw.toolopts.<a href="../org/eclipse/ptp/etfw/toolopts/ToolsOptionsConstants.html" title="class in org.eclipse.ptp.etfw.toolopts">ToolsOptionsConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/toolopts/ToolsOptionsConstants.html#PROJECT_BUILD">PROJECT_BUILD</a></span> - Static variable in class org.eclipse.ptp.etfw.toolopts.<a href="../org/eclipse/ptp/etfw/toolopts/ToolsOptionsConstants.html" title="class in org.eclipse.ptp.etfw.toolopts">ToolsOptionsConstants</a></dt>
<dd>
<div class="block">This string will be swapped out for a stored project location if possible if found in an argument string.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html#PROJECT_DIR">PROJECT_DIR</a></span> - Static variable in interface org.eclipse.ptp.etfw.<a href="../org/eclipse/ptp/etfw/IToolLaunchConfigurationConstants.html" title="interface in org.eclipse.ptp.etfw">IToolLaunchConfigurationConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/toolopts/ToolsOptionsConstants.html#PROJECT_NAME">PROJECT_NAME</a></span> - Static variable in class org.eclipse.ptp.etfw.toolopts.<a href="../org/eclipse/ptp/etfw/toolopts/ToolsOptionsConstants.html" title="class in org.eclipse.ptp.etfw.toolopts">ToolsOptionsConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/etfw/toolopts/ToolsOptionsConstants.html#PROJECT_ROOT">PROJECT_ROOT</a></span> - Static variable in class org.eclipse.ptp.etfw.toolopts.<a href="../org/eclipse/ptp/etfw/toolopts/ToolsOptionsConstants.html" title="class in org.eclipse.ptp.etfw.toolopts">ToolsOptionsConstants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/rdt/sync/core/AbstractSyncFileFilter.html#promote(org.eclipse.ptp.rdt.sync.core.AbstractSyncFileFilter.AbstractIgnoreRule)">promote(AbstractSyncFileFilter.AbstractIgnoreRule)</a></span> - Method in class org.eclipse.ptp.rdt.sync.core.<a href="../org/eclipse/ptp/rdt/sync/core/AbstractSyncFileFilter.html" title="class in org.eclipse.ptp.rdt.sync.core">AbstractSyncFileFilter</a></dt>
<dd>
<div class="block">Swap a pattern with its lower-index neighbor
 Assumes pattern only appears once</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/core/IPTPLaunchConfigurationConstants.html#PTP_LAUNCH_ID">PTP_LAUNCH_ID</a></span> - Static variable in interface org.eclipse.ptp.core.<a href="../org/eclipse/ptp/core/IPTPLaunchConfigurationConstants.html" title="interface in org.eclipse.ptp.core">IPTPLaunchConfigurationConstants</a></dt>
<dd>
<div class="block">Unique string for launch attributes</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/views/SimpleTableMarkerView.StackList.html#push(java.lang.Object)">push(Object)</a></span> - Method in class org.eclipse.ptp.pldt.common.views.<a href="../org/eclipse/ptp/pldt/common/views/SimpleTableMarkerView.StackList.html" title="class in org.eclipse.ptp.pldt.common.views">SimpleTableMarkerView.StackList</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/views/SimpleTreeTableMarkerView.StackList.html#push(java.lang.Object)">push(Object)</a></span> - Method in class org.eclipse.ptp.pldt.common.views.<a href="../org/eclipse/ptp/pldt/common/views/SimpleTreeTableMarkerView.StackList.html" title="class in org.eclipse.ptp.pldt.common.views">SimpleTreeTableMarkerView.StackList</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/views/SimpleTableMarkerView.html#pushChangedInfo(org.eclipse.ptp.pldt.common.IArtifact,org.eclipse.core.resources.IMarker)">pushChangedInfo(IArtifact, IMarker)</a></span> - Method in class org.eclipse.ptp.pldt.common.views.<a href="../org/eclipse/ptp/pldt/common/views/SimpleTableMarkerView.html" title="class in org.eclipse.ptp.pldt.common.views">SimpleTableMarkerView</a></dt>
<dd>
<div class="block">Push change info (artifact and marker) onto a stack so we can remember
 it, for possible undo action.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/pldt/common/views/SimpleTreeTableMarkerView.html#pushChangedInfo(org.eclipse.ptp.pldt.common.IArtifact,org.eclipse.core.resources.IMarker)">pushChangedInfo(IArtifact, IMarker)</a></span> - Method in class org.eclipse.ptp.pldt.common.views.<a href="../org/eclipse/ptp/pldt/common/views/SimpleTreeTableMarkerView.html" title="class in org.eclipse.ptp.pldt.common.views">SimpleTreeTableMarkerView</a></dt>
<dd>
<div class="block">Push change info (artifact and marker) onto a stack so we can remember
 it, for possible undo action.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/eclipse/ptp/core/PreferencesAdapter.html#putValue(java.lang.String,java.lang.String)">putValue(String, String)</a></span> - Method in class org.eclipse.ptp.core.<a href="../org/eclipse/ptp/core/PreferencesAdapter.html" title="class in org.eclipse.ptp.core">PreferencesAdapter</a></dt>
<dt><a href="../org/eclipse/ptp/debug/core/model/PVariableFormat.html" title="class in org.eclipse.ptp.debug.core.model"><span class="typeNameLink">PVariableFormat</span></a> - Class in <a href="../org/eclipse/ptp/debug/core/model/package-summary.html">org.eclipse.ptp.debug.core.model</a></dt>
<dd>
<div class="block">Variable formats</div>
</dd>
</dl>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">J</a>&nbsp;<a href="index-11.html">L</a>&nbsp;<a href="index-12.html">M</a>&nbsp;<a href="index-13.html">N</a>&nbsp;<a href="index-14.html">O</a>&nbsp;<a href="index-15.html">P</a>&nbsp;<a href="index-16.html">Q</a>&nbsp;<a href="index-17.html">R</a>&nbsp;<a href="index-18.html">S</a>&nbsp;<a href="index-19.html">T</a>&nbsp;<a href="index-20.html">U</a>&nbsp;<a href="index-21.html">V</a>&nbsp;<a href="index-22.html">W</a>&nbsp;<a href="index-23.html">X</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="../allpackages-index.html">All&nbsp;Packages</a></div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../index.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>PTP</b><br>Release 7.0</div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright (c) 2011 IBM Corporation and others. All Rights Reserved.</small></p>
</footer>
</body>
</html>
