<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="specialization_modcyclicshapemodifiediterator" data-page="ModCyclicShapeModifiedIterator">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII" />
    <title>ModCyclicShape ModifiedIterator - SeqAn API Documentation</title>

      

      
      <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>

      <link rel="stylesheet" href="lib/bootstrap/css/bootstrap.css" type="text/css" media="screen" charset="utf-8" />
      <script type="text/javascript" charset="utf-8" src="lib/bootstrap/js/bootstrap.min.js"></script>

      <link rel="stylesheet" href="lib/bootstrap-multiselect/css/bootstrap-multiselect.css" type="text/css" media="screen" charset="utf-8" />
      <script type="text/javascript" charset="utf-8" src="lib/bootstrap-multiselect/js/bootstrap-multiselect.js"></script>

      <script type="text/javascript" charset="utf-8" src="lib/ZeroClipboard/ZeroClipboard.min.js"></script>

      <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
      <link rel="stylesheet" href="css/common.less.css" type="text/css" media="screen" charset="utf-8" />
      <script type="text/javascript" charset="utf-8" src="js/less.min.js"></script>
      



    <script type="text/javascript" charset="utf-8">
      hasFrames = window.top.frames.main ? true : false;
      relpath = '/';
      docsPrefix = 'docs/yard';
      listPrefix = 'list/docs/yard';
      searchPrefix = 'search/docs/yard';
      framesUrl = '/docs/yard/frames/file/README.md';
    </script>

    <style type="text/css">
    <!-- pygments not available -->
    </style>

    <style>
      .link.error
      {
          color: red;
      }
    </style>

      
      
      <script type="text/javascript" charset="utf-8" src="lib/jquery-bbq/jquery.ba-bbq.min.js"></script>
      <script type="text/javascript" charset="utf-8" src="js/jquery.smooth-scroll.js"></script>

      <script type="text/javascript" charset="utf-8" src="js/lang_entities.js"></script>
      <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
      <script type="text/javascript" charset="utf-8" src="js/autocomplete.js"></script>
      <script type="text/javascript" charset="utf-8" src="js/rubydoc_custom.js"></script>
      <script type="text/javascript" charset="utf-8" src="js/common.js"></script>
      
  </head>
  <body>
    <a id="top" name="top"></a>

    <div id="content">
      

<h1 data-lang-entity="class" data-pimped="true"><a href="page_LanguageEntities.html#specialization">Spec</a>
<span>ModCyclicShape ModifiedIterator<div><div>Iterates over a string leaving out don't-care-positions defined in
CyclicShape.</div></div></span>
</h1>


<table class="overview">

  
  <tr>
    <th>Extends</th>
    <td>
      <a href="class_ModifiedIterator.html" data-lang-entity="class">ModifiedIterator</a>
      
    </td>
  </tr>
  

  

  
  <tr>
    <th>All Extended</dt>
    <td>
    <a href="class_ModifiedIterator.html" data-lang-entity="class">ModifiedIterator</a>
    
    </td>
  </tr>
  

  

  
  <tr>
    <th>All Impl'd</dt>
    <td>
    <a href="concept_BidirectionalIteratorConcept.html" data-lang-entity="concept">BidirectionalIteratorConcept</a>, 
    <a href="concept_CopyConstructibleConcept.html" data-lang-entity="concept">CopyConstructibleConcept</a>, 
    <a href="concept_DefaultConstructibleConcept.html" data-lang-entity="concept">DefaultConstructibleConcept</a>, 
    <a href="concept_EqualityComparableConcept.html" data-lang-entity="concept">EqualityComparableConcept</a>, 
    <a href="concept_ForwardIteratorConcept.html" data-lang-entity="concept">ForwardIteratorConcept</a>, 
    <a href="concept_InputIteratorConcept.html" data-lang-entity="concept">InputIteratorConcept</a>, 
    <a href="concept_IteratorAssociatedTypesConcept.html" data-lang-entity="concept">IteratorAssociatedTypesConcept</a>, 
    <a href="concept_LessThanComparableConcept.html" data-lang-entity="concept">LessThanComparableConcept</a>, 
    <a href="concept_RandomAccessIteratorConcept.html" data-lang-entity="concept">RandomAccessIteratorConcept</a>
    
    </td>
  
  </tr>

  <tr>
    <th>Defined in</th>
    <td>
      
      &lt;seqan/modifier.h&gt;
      
      
    </td>
  </tr>
  
  <tr>
    <th>Signature</th>
    <td>
      <code>template &lt;typename THost, typename TSpec&gt;
class ModifiedIterator&lt;THost, ModCyclicShape&lt;CyclicShape&lt;TSpec&gt; &gt; &gt;;
</code>
    </td>
  </tr>
</table>


<!-- Template Parameters -->




<div data-lang-entity-container="template_parameter">
<h2 data-lang-entity="template_parameter">Template Parameters</h2>

<table class="overview">

    <tr>
        <th><code><a href="#" data-lang-entity="template_parameter">THost</a></code></th>
        <td>The host iterator.</td>
    </tr>

    <tr>
        <th><code><a href="#" data-lang-entity="template_parameter">TSpec</a></code></th>
        <td>The specialization of <a href="class_CyclicShape.html" data-lang-entity="class">CyclicShape</a>.</td>
    </tr>

    <tr>
        <th><code><a href="#" data-lang-entity="template_parameter">TCargo</a></code></th>
        <td>Cargo type of ModCyclicShape</td>
    </tr>

    <tr>
        <th><code><a href="#" data-lang-entity="template_parameter">TSize</a></code></th>
        <td>Size type of ModCyclicShape</td>
    </tr>

</table>
</div>






<!--
 =============================================================================
  Member and Interface Overview
 =============================================================================
-->

<!-- Member Functions Overview -->



<div data-lang-entity-container="member_function">
<h2 data-lang-entity="member_function">Member Function Overview</h2>

<ul class="summary">
  
  <li class="public">
    
    <span class="summary_signature"><code><a href="#ModCyclicShapeModifiedIterator%3A%3AModifiedIterator" title="#ModCyclicShapeModifiedIterator::ModifiedIterator (interface function)" data-lang-entity="member_function">ModifiedIterator::ModifiedIterator();, ModifiedIterator::ModifiedIterator(host);, ModifiedIterator::ModifiedIterator(otherModIter);</a></code></span>
    <span class="summary_desc"><div>The constructor.</div></span>
    
  </li>
  
</ul>















<h3 data-toc="hidden">Member Functions Inherited From <a href="concept_EqualityComparableConcept.html" data-lang-entity="concept">EqualityComparableConcept</a></h3>

<ul class="summary compact">
  
  <li class="public"><span class="summary_signature"><code><a href="concept_EqualityComparableConcept.html#EqualityComparableConcept::operator!=" data-lang-entity="member_function">operator!=</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_EqualityComparableConcept.html#EqualityComparableConcept::operator==" data-lang-entity="member_function">operator==</a></code></span></li>
  
</ul>









<h3 data-toc="hidden">Member Functions Inherited From <a href="concept_LessThanComparableConcept.html" data-lang-entity="concept">LessThanComparableConcept</a></h3>

<ul class="summary compact">
  
  <li class="public"><span class="summary_signature"><code><a href="concept_LessThanComparableConcept.html#LessThanComparableConcept::operator<" data-lang-entity="member_function">operator&lt;</a></code></span></li>
  
</ul>



<h3 data-toc="hidden">Member Functions Inherited From <a href="concept_RandomAccessIteratorConcept.html" data-lang-entity="concept">RandomAccessIteratorConcept</a></h3>

<ul class="summary compact">
  
  <li class="public"><span class="summary_signature"><code><a href="concept_RandomAccessIteratorConcept.html#RandomAccessIteratorConcept::operator[]" data-lang-entity="member_function">operator[]</a></code></span></li>
  
</ul>




</div>




<!-- Interface Functions Overview -->



<div data-lang-entity-container="interface_function">
<h2 data-lang-entity="interface_function">Interface Function Overview</h2>










<h3 data-toc="hidden">Interface Functions Inherited From <a href="concept_BidirectionalIteratorConcept.html" data-lang-entity="concept">BidirectionalIteratorConcept</a></h3>

<ul class="summary compact">
  
  <li class="public"><span class="summary_signature"><code><a href="concept_BidirectionalIteratorConcept.html#BidirectionalIteratorConcept#operator--(prefix)" data-lang-entity="interface_function">operator--(prefix)</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_BidirectionalIteratorConcept.html#BidirectionalIteratorConcept#operator--(suffix)" data-lang-entity="interface_function">operator--(suffix)</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_BidirectionalIteratorConcept.html#BidirectionalIteratorConcept#goPrevious" data-lang-entity="interface_function">goPrevious</a></code></span></li>
  
</ul>











<h3 data-toc="hidden">Interface Functions Inherited From <a href="concept_InputIteratorConcept.html" data-lang-entity="concept">InputIteratorConcept</a></h3>

<ul class="summary compact">
  
  <li class="public"><span class="summary_signature"><code><a href="concept_InputIteratorConcept.html#InputIteratorConcept#operator++(suffix)" data-lang-entity="interface_function">operator++(suffix)</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_InputIteratorConcept.html#InputIteratorConcept#operator++(prefix)" data-lang-entity="interface_function">operator++(prefix)</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_InputIteratorConcept.html#InputIteratorConcept#operator->" data-lang-entity="interface_function">operator-&gt;</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_InputIteratorConcept.html#InputIteratorConcept#goNext" data-lang-entity="interface_function">goNext</a></code></span></li>
  
</ul>



<h3 data-toc="hidden">Interface Functions Inherited From <a href="concept_IteratorAssociatedTypesConcept.html" data-lang-entity="concept">IteratorAssociatedTypesConcept</a></h3>

<ul class="summary compact">
  
  <li class="public"><span class="summary_signature"><code><a href="concept_IteratorAssociatedTypesConcept.html#IteratorAssociatedTypesConcept#operator*" data-lang-entity="interface_function">operator*</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_IteratorAssociatedTypesConcept.html#IteratorAssociatedTypesConcept#value" data-lang-entity="interface_function">value</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_IteratorAssociatedTypesConcept.html#IteratorAssociatedTypesConcept#getValue" data-lang-entity="interface_function">getValue</a></code></span></li>
  
</ul>





<h3 data-toc="hidden">Interface Functions Inherited From <a href="concept_RandomAccessIteratorConcept.html" data-lang-entity="concept">RandomAccessIteratorConcept</a></h3>

<ul class="summary compact">
  
  <li class="public"><span class="summary_signature"><code><a href="concept_RandomAccessIteratorConcept.html#RandomAccessIteratorConcept#difference" data-lang-entity="interface_function">difference</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_RandomAccessIteratorConcept.html#RandomAccessIteratorConcept#operator+=" data-lang-entity="interface_function">operator+=</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_RandomAccessIteratorConcept.html#RandomAccessIteratorConcept#operator+" data-lang-entity="interface_function">operator+</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_RandomAccessIteratorConcept.html#RandomAccessIteratorConcept#operator-=" data-lang-entity="interface_function">operator-=</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_RandomAccessIteratorConcept.html#RandomAccessIteratorConcept#goNil" data-lang-entity="interface_function">goNil</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_RandomAccessIteratorConcept.html#RandomAccessIteratorConcept#goFurther" data-lang-entity="interface_function">goFurther</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_RandomAccessIteratorConcept.html#RandomAccessIteratorConcept#atNil" data-lang-entity="interface_function">atNil</a></code></span></li>
  
</ul>




</div>

 


<!-- Member Typedefs Overview -->

  


<!-- Interface Metafunctions Overview -->



<div data-lang-entity-container="interface_metafunction">
<h2 data-lang-entity="interface_metafunction">Interface  Metafunction Overview</h2>

<ul class="summary">
  
  <li class="public">
    
    <span class="summary_signature"><code><a href="#ModCyclicShapeModifiedIterator%23Cargo" title="#ModCyclicShapeModifiedIterator#Cargo (interface function)" data-lang-entity="interface_metafunction">Cargo&lt;ModifiedIterator&lt;THost, ModCyclicShape&lt;CyclicShape&lt;TSpec&gt; &gt; &gt; &gt;::Type;</a></code></span>
    <span class="summary_desc"><div>Cargo of ModCyclicShape ModCyclicShape Modified Iterator and ModCyclicShape Modified String.</div></span>
    
  </li>
  
</ul>





















<h3 data-toc="hidden">Interface Metafunctions Inherited From <a href="concept_IteratorAssociatedTypesConcept.html" data-lang-entity="concept">IteratorAssociatedTypesConcept</a></h3>

<ul class="summary compact">
  
  <li class="public"><span class="summary_signature"><code><a href="concept_IteratorAssociatedTypesConcept.html#IteratorAssociatedTypesConcept#Difference" data-lang-entity="interface_metafunction">Difference</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_IteratorAssociatedTypesConcept.html#IteratorAssociatedTypesConcept#GetValue" data-lang-entity="interface_metafunction">GetValue</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_IteratorAssociatedTypesConcept.html#IteratorAssociatedTypesConcept#Pointer" data-lang-entity="interface_metafunction">Pointer</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_IteratorAssociatedTypesConcept.html#IteratorAssociatedTypesConcept#Reference" data-lang-entity="interface_metafunction">Reference</a></code></span></li>
  
  <li class="public"><span class="summary_signature"><code><a href="concept_IteratorAssociatedTypesConcept.html#IteratorAssociatedTypesConcept#Value" data-lang-entity="interface_metafunction">Value</a></code></span></li>
  
</ul>





<h3 data-toc="hidden">Interface Metafunctions Inherited From <a href="concept_RandomAccessIteratorConcept.html" data-lang-entity="concept">RandomAccessIteratorConcept</a></h3>

<ul class="summary compact">
  
  <li class="public"><span class="summary_signature"><code><a href="concept_RandomAccessIteratorConcept.html#RandomAccessIteratorConcept#Difference" data-lang-entity="interface_metafunction">Difference</a></code></span></li>
  
</ul>




</div>

  


<!-- Member Variable Overview -->



<div data-lang-entity-container="member_variable">
<h2 data-lang-entity="member_variable">Member Variable Overview</h2>

<ul class="summary">
  
  <li class="public">
    <span class="summary_signature"><code><a href="#ModCyclicShapeModifiedIterator%3A%3A_cargo" title="#ModCyclicShapeModifiedIterator::_cargo (interface function)" data-lang-entity="member_variable">
        TCargo ModCyclicShapeModifiedIterator::_cargo
    </a></code></span>
    <span class="summary_desc"><div>Copy of a Cargo object, which is a CyclicShape.</div></span>
  </li>
  
  <li class="public">
    <span class="summary_signature"><code><a href="#ModCyclicShapeModifiedIterator%3A%3A_idx" title="#ModCyclicShapeModifiedIterator::_idx (interface function)" data-lang-entity="member_variable">
        TSize ModCyclicShapeModifiedIterator::_idx
    </a></code></span>
    <span class="summary_desc"><div>Internal position inside <tt>diffs</tt> of the CylicShape.</div></span>
  </li>
  
</ul>




























</div>

  


<!--
 =============================================================================
  Detailed Description
 =============================================================================
-->


<h2>Detailed Description</h2>
<div class="docstring">
  <div class="discussion">
    <!-- @internal -->
    

    <!-- @deprecated -->
    

    <!-- @warning -->
    

    <!-- @note -->
    
        
        <div class="note info"><strong>Note:</strong> <div class='inline'>
            <p>ModCyclicShape Modifier should only be used to <b>view/read a sequence</b>,
never to change the underlying sequence. Some operations will work, e.g.
you can use the <tt>operator*()</tt> of the ModifiedIterator to change
a character, but other operations like <tt>replace</tt> or <tt>append</tt>
are unsafe or even conceptionally wrong.</p>
         </div></div>
        
    

    <!-- @aka -->
    

    <!-- paragraphs -->
    
<div><p>Using ModCyclicShape you can <i>mask</i> characters at certain positions of a text.
A CylcicShape defines these positions (so called don't-care-positions) and the
CyclicShape is repeated till the end of the string. The iterator behaves as if
the don't-care-positions had been deleted without actually copying the string.</p><div data-src-path="demos/dox/modifier/cyclic_shape_snippets.cpp"><pre class="code">        typedef ModifiedString&lt;CharString, ModCyclicShape&lt;TShape&gt; &gt; TModString;
        typedef Iterator&lt;TModString&gt;::Type TModIter;
        TModIter it = begin(modStr);
        TModIter itBeg = it;
        TModIter itEnd = end(modStr);

        // output iter position and host iter position
        for (; it != itEnd; ++it)
            std::cout &lt;&lt; (it - itBeg) &lt;&lt; "/" &lt;&lt; (host(it) - begin(str)) &lt;&lt; ", ";

        //  0/2, 1/3, 2/4, 3/7, 4/9, 5/13, 6/14, 7/15, 8/18, 9/20, 10/24, 11/25, 12/26,</pre><div class="path_label"><span class="label">Snippet from:</span> <a href="demos/dox/modifier/cyclic_shape_snippets.cpp" target="_top">demos/dox/modifier/cyclic_shape_snippets.cpp</a></div></div></div>

  </div>
</div>


<!-- @see -->

  <h2 class="clause_header">See Also</h2>
  <ul class="summary compact">
  
  <li><a href="class_CyclicShape.html" data-lang-entity="class">CyclicShape</a></li>
  
  <li><a href="specialization_ModCyclicShapeModifiedString.html" data-lang-entity="specialization">ModCyclicShapeModifiedString</a></li>
  
  </ul>


<!--
 =============================================================================
  Member and Interface Details
 =============================================================================
-->

<!-- Member Functions Details -->


<div class="member_function_details" data-lang-entity-container="member_function">
  <h2 data-lang-entity="member_function">Member Functions Detail</h2>

  
  <div class="method_details first">
    <h3 data-toc="hidden" id="ModCyclicShapeModifiedIterator::ModifiedIterator" class="signature first" data-lang-entity="member_function">
      <code>ModifiedIterator::ModifiedIterator();
ModifiedIterator::ModifiedIterator(host);
ModifiedIterator::ModifiedIterator(otherModIter);</code>
    </h3>
  </div>

  

  

  

  

  <div class="docstring">
    <div class="discussion">
      <div>The constructor.</div>
    </div>
  </div>

  

  
  <h4>Parameters</h4>
  <table class="overview">
    
    <tr>
      <th>
        
            
                <code data-param-type="in" title="IN parameters are only read and not modified">host</code>
            
        
      </th>
      <td>Host iterator to set.</td>
    </tr>
    
    <tr>
      <th>
        
            
                <code data-param-type="in" title="IN parameters are only read and not modified">otherModIter</code>
            
        
      </th>
      <td>ModifiedIterator which may differ in its host type.
Copy construction.</td>
    </tr>
    
  </table>
  
  
  

	<!-- General description -->

  <div class="docstring">
    <div class="discussion">
      
<div><p>The safe way to create this ModifiedIterator is to use the <tt>begin</tt> and <tt>end</tt>
functions of the ModifiedString or to copy construct.
When directly initialized with a host iterator,
the CyclicShape is not yet taken into account and you have to set it up yourself,
for example a CyclicShape starting with a 01... will have skip the first position.
So you would have to reset the host iterator using <tt>++host(myCyclicShape)</tt>.
Use <tt>cargo()</tt> to assign a shape to the iterator.</p></div>

    </div>
  </div>
 

  <!-- Throws Section -->
	
  
  
  <!-- Data Races Section  -->
  
  <h4>Data Races</h4>
  <div class="discussion">
  
    Thread safety unknown!
  
  </div>
	
	
  <!-- Sees section -->
  
  
  

</div>




<!-- Interface Functions Details -->




<!-- Member Typedefs Details -->




<!-- Interface Metafunctions Details -->

<div class="interface_metafunction_details" data-lang-entity-container="">
<h2 data-lang-entity="interface_metafunction">Interface Metafunctions Detail</h2>


<div class="method_details first">
  <h3 data-toc="hidden" id="ModCyclicShapeModifiedIterator#Cargo" class="signature first" data-lang-entity="interface_metafunction">
    <code>Cargo&lt;ModifiedIterator&lt;THost, ModCyclicShape&lt;CyclicShape&lt;TSpec&gt; &gt; &gt; &gt;::Type;</code>
  </h3>

  

  

  

  

  <div class="docstring">
    <div class="discussion">
      <div>Cargo of ModCyclicShape ModCyclicShape Modified Iterator and ModCyclicShape Modified String.</div>
    </div>
  </div>

  
  <h4>Template Parameters</h4>
    <table class="overview">
    
        <tr>
            <th><code>THost</code></th>
            <td>Host iterator of ModifiedIterator.</td>
        </tr>
    
        <tr>
            <th><code>TSpec</code></th>
            <td>Specialization of CyclicShape.</td>
        </tr>
    
    </table>
  

  
  <h4>Returns</h4>
    <table class="overview">
    
        <tr>
            <th><code>Cargo</code></th>
            <td>type of ModCyclicShape Modified Iterator is the CyclicShape itself.</td>
        </tr>
    
    </table>
  

  <div class="docstring">
    <div class="discussion">
      
<div></div>

    </div>
  </div>
</div>



</div>



<!-- Member Variable Details -->

<div class="member_variable_details" data-lang-entity-container="member_variable">
  <h2 data-lang-entity="member_variable">Member Variables Detail</h2>

  
  <div class="member_variable_details first">
    <h3 data-toc="hidden" id="ModCyclicShapeModifiedIterator::_cargo" class="signature first" data-lang-entity="member_variable">
      <code>TCargo ModCyclicShapeModifiedIterator::_cargo</code>
    </h3>
    <div class="docstring">
      <div class="discussion">
        <div>Copy of a Cargo object, which is a CyclicShape.</div>
        
<div><p>The Cargo is a CyclicShape. This can be very heavy in case of GenericCyclicShape,
so prefer the lightweight FixedCyclicShape.</p></div>

      </div>
    </div>
  </div>
  
  <div class="member_variable_details">
    <h3 data-toc="hidden" id="ModCyclicShapeModifiedIterator::_idx" class="signature" data-lang-entity="member_variable">
      <code>TSize ModCyclicShapeModifiedIterator::_idx</code>
    </h3>
    <div class="docstring">
      <div class="discussion">
        <div>Internal position inside <tt>diffs</tt> of the CylicShape.</div>
        
<div></div>

      </div>
    </div>
  </div>
  
</div>



<!--
 =============================================================================
  Footer / Debug
 =============================================================================
-->



<div class="modal fade" id="doxSources" tabindex="-1" role="dialog" aria-labelledby="doxSourcesLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
        <h4 class="modal-title" id="doxSourcesLabel">Dox Sources</h4>
      </div>
      <div class="modal-body">
        <pre>/*!
 * @class ModCyclicShapeModifiedIterator ModCyclicShape ModifiedIterator
 * 
 * @extends ModifiedIterator
 * 
 * @headerfile &lt;seqan/modifier.h&gt;
 * 
 * @brief Iterates over a string leaving out don&#39;t-care-positions defined in
 *        CyclicShape.
 * 
 * @note ModCyclicShape Modifier should only be used to &lt;b&gt;view/read a
 *       sequence&lt;/b&gt;, never to change the underlying sequence. Some operations
 *       will work, e.g. you can use the &lt;tt&gt;operator*()&lt;/tt&gt; of the
 *       ModifiedIterator to change a character, but other operations like
 *       &lt;tt&gt;replace&lt;/tt&gt; or &lt;tt&gt;append&lt;/tt&gt; are unsafe or even conceptionally
 *       wrong.
 * 
 * @signature template &lt;typename THost, typename TSpec&gt; class
 *            ModifiedIterator&lt;THost, ModCyclicShape&lt;CyclicShape&lt;TSpec&gt; &gt; &gt;;
 * 
 * @tparam THost The host iterator.
 * @tparam TSpec The specialization of @link CyclicShape @endlink.
 * @tparam TCargo Cargo type of ModCyclicShape
 * @tparam TSize Size type of ModCyclicShape
 * 
 * Using ModCyclicShape you can &lt;i&gt;mask&lt;/i&gt; characters at certain positions of a
 * text. A CylcicShape defines these positions (so called don&#39;t-care-positions)
 * and the CyclicShape is repeated till the end of the string. The iterator
 * behaves as if the don&#39;t-care-positions had been deleted without actually
 * copying the string.
 * 
 * @snippet demos/dox/modifier/cyclic_shape_snippets.cpp Define CyclicShape Modified Iterator
 * 
 * @see ModCyclicShapeModifiedString
 * @see CyclicShape
 * 
 * @mfn ModCyclicShapeModifiedIterator#Cargo
 * 
 * @headerfile &lt;seqan/modifier.h&gt;
 * 
 * @brief Cargo of ModCyclicShape ModCyclicShape Modified Iterator and
 *        ModCyclicShape Modified String.
 * 
 * @signature Cargo&lt;ModifiedIterator&lt;THost, ModCyclicShape&lt;CyclicShape&lt;TSpec&gt; &gt;
 *            &gt; &gt;::Type;
 * 
 * @tparam THost Host iterator of ModifiedIterator.
 * @tparam TSpec Specialization of CyclicShape.
 * 
 * @return Cargo type of ModCyclicShape Modified Iterator is the CyclicShape
 *               itself.
 * 
 * @fn ModCyclicShapeModifiedIterator::ModifiedIterator
 * 
 * @brief The constructor.
 * 
 * @signature ModifiedIterator::ModifiedIterator();
 * @signature ModifiedIterator::ModifiedIterator(host);
 * @signature ModifiedIterator::ModifiedIterator(otherModIter);
 * 
 * @param[in] host Host iterator to set.
 * @param[in] otherModIter ModifiedIterator which may differ in its host type.
 *                         Copy construction.
 * 
 * The safe way to create this ModifiedIterator is to use the &lt;tt&gt;begin&lt;/tt&gt; and
 * &lt;tt&gt;end&lt;/tt&gt; functions of the ModifiedString or to copy construct. When
 * directly initialized with a host iterator, the CyclicShape is not yet taken
 * into account and you have to set it up yourself, for example a CyclicShape
 * starting with a 01... will have skip the first position. So you would have to
 * reset the host iterator using &lt;tt&gt;++host(myCyclicShape)&lt;/tt&gt;. Use
 * &lt;tt&gt;cargo()&lt;/tt&gt; to assign a shape to the iterator.
 * 
 * @var TCargo ModCyclicShapeModifiedIterator::_cargo;
 * 
 * @brief Copy of a Cargo object, which is a CyclicShape.
 * 
 * The Cargo is a CyclicShape. This can be very heavy in case of
 * GenericCyclicShape, so prefer the lightweight FixedCyclicShape.
 * 
 * @var TSize ModCyclicShapeModifiedIterator::_idx;
 * 
 * @brief Internal position inside &lt;tt&gt;diffs&lt;/tt&gt; of the CylicShape.
 */</pre>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>





    </div>

  </body>
</html>