blob: cea12a64e6919ba5c565e0a340e4d00b121ebd58 [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Class CharFilter
| Apache Lucene.NET 4.8.0-beta00013 Documentation </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Class CharFilter
| Apache Lucene.NET 4.8.0-beta00013 Documentation ">
<meta name="generator" content="docfx 2.56.2.0">
<link rel="shortcut icon" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/logo/favicon.ico">
<link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.css">
<link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.css">
<link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.css">
<meta property="docfx:navrel" content="toc.html">
<meta property="docfx:tocrel" content="core/toc.html">
<meta property="docfx:rel" content="https://lucenenet.apache.org/docs/4.8.0-beta00009/">
</head>
<body data-spy="scroll" data-target="#affix" data-offset="120">
<span id="forkongithub"><a href="https://github.com/apache/lucenenet" target="_blank">Fork me on GitHub</a></span>
<div id="wrapper">
<header>
<nav id="autocollapse" class="navbar ng-scope" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">
<img id="logo" class="svg" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/logo/lucene-net-color.png" alt="">
</a>
</div>
<div class="collapse navbar-collapse" id="navbar">
<form class="navbar-form navbar-right" role="search" id="search">
<div class="form-group">
<input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
</div>
</form>
</div>
</div>
</nav>
<div class="subnav navbar navbar-default">
<div class="container hide-when-search">
<ul class="level0 breadcrumb">
<li>
<a href="https://lucenenet.apache.org/docs/4.8.0-beta00009/">API</a>
<span id="breadcrumb">
<ul class="breadcrumb">
<li></li>
</ul>
</span>
</li>
</ul>
</div>
</div>
</header>
<div class="container body-content">
<div id="search-results">
<div class="search-list"></div>
<div class="sr-items">
<p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
</div>
<ul id="pagination"></ul>
</div>
</div>
<div role="main" class="container body-content hide-when-search">
<div class="sidenav hide-when-search">
<a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
<div class="sidetoggle collapse" id="sidetoggle">
<div id="sidetoc"></div>
</div>
</div>
<div class="article row grid-right">
<div class="col-md-10">
<article class="content wrap" id="_content" data-uid="Lucene.Net.Analysis.CharFilter">
<h1 id="Lucene_Net_Analysis_CharFilter" data-uid="Lucene.Net.Analysis.CharFilter" class="text-break">Class CharFilter
</h1>
<div class="markdown level0 summary"><p>Subclasses of <a class="xref" href="Lucene.Net.Analysis.CharFilter.html">CharFilter</a> can be chained to filter a <span class="xref">System.IO.TextReader</span>
They can be used as <span class="xref">System.IO.TextReader</span> with additional offset
correction. <a class="xref" href="Lucene.Net.Analysis.Tokenizer.html">Tokenizer</a>s will automatically use <a class="xref" href="Lucene.Net.Analysis.CharFilter.html#Lucene_Net_Analysis_CharFilter_CorrectOffset_System_Int32_">CorrectOffset(Int32)</a>
if a <a class="xref" href="Lucene.Net.Analysis.CharFilter.html">CharFilter</a> subclass is used.
<p>
This class is abstract: at a minimum you must implement <span class="xref">System.IO.TextReader.Read(System.Char[], System.Int32, System.Int32)</span>,
transforming the input in some way from <a class="xref" href="Lucene.Net.Analysis.CharFilter.html#Lucene_Net_Analysis_CharFilter_m_input">m_input</a>, and <a class="xref" href="Lucene.Net.Analysis.CharFilter.html#Lucene_Net_Analysis_CharFilter_Correct_System_Int32_">Correct(Int32)</a>
to adjust the offsets to match the originals.
<p>
You can optionally provide more efficient implementations of additional methods
like <span class="xref">System.IO.TextReader.Read()</span>, but this is not required.
<p>
For examples and integration with <a class="xref" href="Lucene.Net.Analysis.Analyzer.html">Analyzer</a>, see the
<a class="xref" href="Lucene.Net.Analysis.html">Lucene.Net.Analysis</a> namespace documentation.</p>
</div>
<div class="markdown level0 conceptual"></div>
<div class="inheritance">
<h5>Inheritance</h5>
<div class="level0"><span class="xref">System.Object</span></div>
<div class="level1"><span class="xref">System.MarshalByRefObject</span></div>
<div class="level2"><span class="xref">System.IO.TextReader</span></div>
<div class="level3"><span class="xref">CharFilter</span></div>
</div>
<div classs="implements">
<h5>Implements</h5>
<div><span class="xref">System.IDisposable</span></div>
</div>
<div class="inheritedMembers">
<h5>Inherited Members</h5>
<div>
<span class="xref">System.IO.TextReader.Null</span>
</div>
<div>
<span class="xref">System.IO.TextReader.Close()</span>
</div>
<div>
<span class="xref">System.IO.TextReader.Dispose()</span>
</div>
<div>
<span class="xref">System.IO.TextReader.Peek()</span>
</div>
<div>
<span class="xref">System.IO.TextReader.ReadAsync(System.Char[], System.Int32, System.Int32)</span>
</div>
<div>
<span class="xref">System.IO.TextReader.ReadBlock(System.Char[], System.Int32, System.Int32)</span>
</div>
<div>
<span class="xref">System.IO.TextReader.ReadBlockAsync(System.Char[], System.Int32, System.Int32)</span>
</div>
<div>
<span class="xref">System.IO.TextReader.ReadLine()</span>
</div>
<div>
<span class="xref">System.IO.TextReader.ReadLineAsync()</span>
</div>
<div>
<span class="xref">System.IO.TextReader.ReadToEnd()</span>
</div>
<div>
<span class="xref">System.IO.TextReader.ReadToEndAsync()</span>
</div>
<div>
<span class="xref">System.IO.TextReader.Synchronized(System.IO.TextReader)</span>
</div>
<div>
<span class="xref">System.MarshalByRefObject.GetLifetimeService()</span>
</div>
<div>
<span class="xref">System.MarshalByRefObject.InitializeLifetimeService()</span>
</div>
<div>
<span class="xref">System.MarshalByRefObject.MemberwiseClone(System.Boolean)</span>
</div>
<div>
<span class="xref">System.Object.Equals(System.Object)</span>
</div>
<div>
<span class="xref">System.Object.Equals(System.Object, System.Object)</span>
</div>
<div>
<span class="xref">System.Object.GetHashCode()</span>
</div>
<div>
<span class="xref">System.Object.GetType()</span>
</div>
<div>
<span class="xref">System.Object.MemberwiseClone()</span>
</div>
<div>
<span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
</div>
<div>
<span class="xref">System.Object.ToString()</span>
</div>
</div>
<h6><strong>Namespace</strong>: <a class="xref" href="Lucene.Net.Analysis.html">Lucene.Net.Analysis</a></h6>
<h6><strong>Assembly</strong>: Lucene.Net.dll</h6>
<h5 id="Lucene_Net_Analysis_CharFilter_syntax">Syntax</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public abstract class CharFilter : TextReader, IDisposable</code></pre>
</div>
<h3 id="constructors">Constructors
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_CharFilter__ctor_System_IO_TextReader_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.CharFilter.%23ctor(System.IO.TextReader)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net/Analysis/CharFilter.cs/#L50">View Source</a>
</span>
<a id="Lucene_Net_Analysis_CharFilter__ctor_" data-uid="Lucene.Net.Analysis.CharFilter.#ctor*"></a>
<h4 id="Lucene_Net_Analysis_CharFilter__ctor_System_IO_TextReader_" data-uid="Lucene.Net.Analysis.CharFilter.#ctor(System.IO.TextReader)">CharFilter(TextReader)</h4>
<div class="markdown level1 summary"><p>Create a new <a class="xref" href="Lucene.Net.Analysis.CharFilter.html">CharFilter</a> wrapping the provided reader. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected CharFilter(TextReader input)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IO.TextReader</span></td>
<td><span class="parametername">input</span></td>
<td><p>a <span class="xref">System.IO.TextReader</span>, can also be a <a class="xref" href="Lucene.Net.Analysis.CharFilter.html">CharFilter</a> for chaining. </p>
</td>
</tr>
</tbody>
</table>
<h3 id="fields">Fields
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_CharFilter_m_input.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.CharFilter.m_input%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net/Analysis/CharFilter.cs/#L45">View Source</a>
</span>
<h4 id="Lucene_Net_Analysis_CharFilter_m_input" data-uid="Lucene.Net.Analysis.CharFilter.m_input">m_input</h4>
<div class="markdown level1 summary"><p>The underlying character-input stream.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected readonly TextReader m_input</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IO.TextReader</span></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="properties">Properties
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_CharFilter_IsMarkSupported.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.CharFilter.IsMarkSupported%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net/Analysis/CharFilter.cs/#L142">View Source</a>
</span>
<a id="Lucene_Net_Analysis_CharFilter_IsMarkSupported_" data-uid="Lucene.Net.Analysis.CharFilter.IsMarkSupported*"></a>
<h4 id="Lucene_Net_Analysis_CharFilter_IsMarkSupported" data-uid="Lucene.Net.Analysis.CharFilter.IsMarkSupported">IsMarkSupported</h4>
<div class="markdown level1 summary"><p>Tells whether this stream supports the <a class="xref" href="Lucene.Net.Analysis.CharFilter.html#Lucene_Net_Analysis_CharFilter_Mark_System_Int32_">Mark(Int32)</a> operation. The default implementation always
returns false. Subclasses should override this method.
<p>
LUCENENET specific. Moved here from the Reader class (in Java) so it can be overridden to provide reader buffering.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual bool IsMarkSupported { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><p>true if and only if this stream supports the mark operation.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_CharFilter_IsReady.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.CharFilter.IsReady%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net/Analysis/CharFilter.cs/#L133">View Source</a>
</span>
<a id="Lucene_Net_Analysis_CharFilter_IsReady_" data-uid="Lucene.Net.Analysis.CharFilter.IsReady*"></a>
<h4 id="Lucene_Net_Analysis_CharFilter_IsReady" data-uid="Lucene.Net.Analysis.CharFilter.IsReady">IsReady</h4>
<div class="markdown level1 summary"><p>Tells whether this stream is ready to be read.
<p>
True if the next <span class="xref">System.IO.TextReader.Read()</span> is guaranteed not to block for input, false otherwise. Note
that returning false does not guarantee that the next read will block.
<p>
LUCENENET specific. Moved here from the Reader class (in Java) so it can be overridden to provide reader buffering.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual bool IsReady { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="methods">Methods
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_CharFilter_Correct_System_Int32_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.CharFilter.Correct(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net/Analysis/CharFilter.cs/#L76">View Source</a>
</span>
<a id="Lucene_Net_Analysis_CharFilter_Correct_" data-uid="Lucene.Net.Analysis.CharFilter.Correct*"></a>
<h4 id="Lucene_Net_Analysis_CharFilter_Correct_System_Int32_" data-uid="Lucene.Net.Analysis.CharFilter.Correct(System.Int32)">Correct(Int32)</h4>
<div class="markdown level1 summary"><p>Subclasses override to correct the current offset.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected abstract int Correct(int currentOff)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">currentOff</span></td>
<td><p>current offset </p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><p>corrected offset </p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_CharFilter_CorrectOffset_System_Int32_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.CharFilter.CorrectOffset(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net/Analysis/CharFilter.cs/#L82">View Source</a>
</span>
<a id="Lucene_Net_Analysis_CharFilter_CorrectOffset_" data-uid="Lucene.Net.Analysis.CharFilter.CorrectOffset*"></a>
<h4 id="Lucene_Net_Analysis_CharFilter_CorrectOffset_System_Int32_" data-uid="Lucene.Net.Analysis.CharFilter.CorrectOffset(System.Int32)">CorrectOffset(Int32)</h4>
<div class="markdown level1 summary"><p>Chains the corrected offset through the input
<a class="xref" href="Lucene.Net.Analysis.CharFilter.html">CharFilter</a>(s).</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int CorrectOffset(int currentOff)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">currentOff</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_CharFilter_Dispose_System_Boolean_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.CharFilter.Dispose(System.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net/Analysis/CharFilter.cs/#L62">View Source</a>
</span>
<a id="Lucene_Net_Analysis_CharFilter_Dispose_" data-uid="Lucene.Net.Analysis.CharFilter.Dispose*"></a>
<h4 id="Lucene_Net_Analysis_CharFilter_Dispose_System_Boolean_" data-uid="Lucene.Net.Analysis.CharFilter.Dispose(System.Boolean)">Dispose(Boolean)</h4>
<div class="markdown level1 summary"><p>Closes the underlying input stream.
<p>
<strong>NOTE:</strong>
The default implementation closes the input <span class="xref">System.IO.TextReader</span>, so
be sure to call <code>base.Dispose(disposing)</code> when overriding this method.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected override void Dispose(bool disposing)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">disposing</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><span class="xref">System.IO.TextReader.Dispose(System.Boolean)</span></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_CharFilter_Mark_System_Int32_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.CharFilter.Mark(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net/Analysis/CharFilter.cs/#L152">View Source</a>
</span>
<a id="Lucene_Net_Analysis_CharFilter_Mark_" data-uid="Lucene.Net.Analysis.CharFilter.Mark*"></a>
<h4 id="Lucene_Net_Analysis_CharFilter_Mark_System_Int32_" data-uid="Lucene.Net.Analysis.CharFilter.Mark(System.Int32)">Mark(Int32)</h4>
<div class="markdown level1 summary"><p>Marks the present position in the stream. Subsequent calls to <a class="xref" href="Lucene.Net.Analysis.CharFilter.html#Lucene_Net_Analysis_CharFilter_Reset">Reset()</a> will attempt to
reposition the stream to this point. Not all character-input streams support the <a class="xref" href="Lucene.Net.Analysis.CharFilter.html#Lucene_Net_Analysis_CharFilter_Mark_System_Int32_">Mark(Int32)</a> operation.
<p>
LUCENENET specific. Moved here from the Reader class (in Java) so it can be overridden to provide reader buffering.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual void Mark(int readAheadLimit)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">readAheadLimit</span></td>
<td><p>Limit on the number of characters that may be read while still preserving the mark. After
reading this many characters, attempting to reset the stream may fail.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_CharFilter_Read.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.CharFilter.Read%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net/Analysis/CharFilter.cs/#L94">View Source</a>
</span>
<a id="Lucene_Net_Analysis_CharFilter_Read_" data-uid="Lucene.Net.Analysis.CharFilter.Read*"></a>
<h4 id="Lucene_Net_Analysis_CharFilter_Read" data-uid="Lucene.Net.Analysis.CharFilter.Read">Read()</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override int Read()</code></pre>
</div>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><span class="xref">System.IO.TextReader.Read()</span></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_CharFilter_Read_System_Char___System_Int32_System_Int32_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.CharFilter.Read(System.Char%5B%5D%2CSystem.Int32%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net/Analysis/CharFilter.cs/#L91">View Source</a>
</span>
<a id="Lucene_Net_Analysis_CharFilter_Read_" data-uid="Lucene.Net.Analysis.CharFilter.Read*"></a>
<h4 id="Lucene_Net_Analysis_CharFilter_Read_System_Char___System_Int32_System_Int32_" data-uid="Lucene.Net.Analysis.CharFilter.Read(System.Char[],System.Int32,System.Int32)">Read(Char[], Int32, Int32)</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public abstract override int Read(char[] buffer, int index, int count)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Char</span>[]</td>
<td><span class="parametername">buffer</span></td>
<td></td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">index</span></td>
<td></td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">count</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><span class="xref">System.IO.TextReader.Read(System.Char[], System.Int32, System.Int32)</span></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_CharFilter_Reset.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.CharFilter.Reset%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net/Analysis/CharFilter.cs/#L120">View Source</a>
</span>
<a id="Lucene_Net_Analysis_CharFilter_Reset_" data-uid="Lucene.Net.Analysis.CharFilter.Reset*"></a>
<h4 id="Lucene_Net_Analysis_CharFilter_Reset" data-uid="Lucene.Net.Analysis.CharFilter.Reset">Reset()</h4>
<div class="markdown level1 summary"><p>LUCENENET specific. Moved here from the Reader class (in Java) so it can be overridden to provide reader buffering.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual void Reset()</code></pre>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_CharFilter_Skip_System_Int32_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.CharFilter.Skip(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net/Analysis/CharFilter.cs/#L111">View Source</a>
</span>
<a id="Lucene_Net_Analysis_CharFilter_Skip_" data-uid="Lucene.Net.Analysis.CharFilter.Skip*"></a>
<h4 id="Lucene_Net_Analysis_CharFilter_Skip_System_Int32_" data-uid="Lucene.Net.Analysis.CharFilter.Skip(System.Int32)">Skip(Int32)</h4>
<div class="markdown level1 summary"><p>Skips characters. This method will block until some characters are available, an I/O error occurs, or the end of the stream is reached.</p>
<p>LUCENENET specific. Moved here from the Reader class (in Java) so it can be overridden to provide reader buffering.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual long Skip(int n)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">n</span></td>
<td><p>The number of characters to skip</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int64</span></td>
<td><p>The number of characters actually skipped</p>
</td>
</tr>
</tbody>
</table>
<h3 id="implements">Implements</h3>
<div>
<span class="xref">System.IDisposable</span>
</div>
</article>
</div>
<div class="hidden-sm col-md-2" role="complementary">
<div class="sideaffix">
<div class="contribution">
<ul class="nav">
<li>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_CharFilter.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.CharFilter%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
</li>
<li>
<a href="https://github.com/apache/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net/Analysis/CharFilter.cs/#L40" class="contribution-link">View Source</a>
</li>
</ul>
</div>
<nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
<!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
</nav>
</div>
</div>
</div>
</div>
<footer>
<div class="grad-bottom"></div>
<div class="footer">
<div class="container">
<span class="pull-right">
<a href="#top">Back to top</a>
</span>
Copyright © 2020 The Apache Software Foundation, Licensed under the <a href='http://www.apache.org/licenses/LICENSE-2.0' target='_blank'>Apache License, Version 2.0</a><br> <small>Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation. <br>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</small>
</div>
</div>
</footer>
</div>
<script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.js"></script>
<script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.js"></script>
<script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.js"></script>
</body>
</html>