<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="API docs for the AUnicornClass class from the reexport_two library, for the Dart programming language.">
  <title>AUnicornClass class - reexport_two library - Dart API</title>
  <!-- required because all the links are pseudo-absolute -->
  <base href="..">

  <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:500,400i,400,300|Source+Sans+Pro:400,300,700" rel="stylesheet">
  <link rel="stylesheet" href="static-assets/github.css">
  <link rel="stylesheet" href="static-assets/styles.css">
  <link rel="icon" href="static-assets/favicon.png">

</head>

<body>

<div id="overlay-under-drawer"></div>

<header id="title">
  <button id="sidenav-left-toggle" type="button">&nbsp;</button>
  <ol class="breadcrumbs gt-separated dark hidden-xs">
    <li><a href="index.html">test_package</a></li>
    <li><a href="reexport_two/reexport_two-library.html">reexport_two</a></li>
    <li class="self-crumb">AUnicornClass class</li>
  </ol>
  <div class="self-name">AUnicornClass</div>
  <form class="search navbar-right" role="search">
    <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
  </form>
</header>

<main>

  <div class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
    <h5>reexport_two library</h5>
    <ol>
      <li class="section-title"><a href="reexport_two/reexport_two-library.html#classes">Classes</a></li>
      <li><a href="reexport_two/AUnicornClass-class.html">AUnicornClass</a></li>
      <li><a href="reexport_two/SomeClass-class.html">SomeClass</a></li>
      <li><a href="reexport_one/SomeOtherClass-class.html">SomeOtherClass</a></li>
      <li><a href="reexport_two/YetAnotherClass-class.html">YetAnotherClass</a></li>
    
    
    
    
    
    
    </ol>
  </div>

  <div class="col-xs-12 col-sm-9 col-md-8 main-content">
      <h1>AUnicornClass class </h1>

    

    <section class="summary offset-anchor" id="constructors">
      <h2>Constructors</h2>

      <dl class="constructor-summary-list">
        <dt id="AUnicornClass" class="callable">
          <span class="name"><a href="reexport_two/AUnicornClass/AUnicornClass.html">AUnicornClass</a></span><span class="signature">()</span>
        </dt>
        <dd>
          
        </dd>
      </dl>
    </section>

    <section class="summary offset-anchor inherited" id="instance-properties">
      <h2>Properties</h2>

      <dl class="properties">
        <dt id="hashCode" class="property inherited">
          <span class="name"><a href="reexport_two/AUnicornClass/hashCode.html">hashCode</a></span>
          <span class="signature">&#8594; int</span> 
        </dt>
        <dd class="inherited">
          
          <div class="features">read-only, inherited</div>
</dd>
        <dt id="runtimeType" class="property inherited">
          <span class="name"><a href="reexport_two/AUnicornClass/runtimeType.html">runtimeType</a></span>
          <span class="signature">&#8594; Type</span> 
        </dt>
        <dd class="inherited">
          
          <div class="features">read-only, inherited</div>
</dd>
      </dl>
    </section>

    <section class="summary offset-anchor inherited" id="instance-methods">
      <h2>Methods</h2>
      <dl class="callables">
        <dt id="noSuchMethod" class="callable inherited">
          <span class="name"><a href="reexport_two/AUnicornClass/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation">Invocation</span> <span class="parameter-name">invocation</span></span>)
            <span class="returntype parameter">&#8594; dynamic</span>
          </span>
          </dt>
        <dd class="inherited">
          
          <div class="features">inherited</div>
</dd>
        <dt id="toString" class="callable inherited">
          <span class="name"><a href="reexport_two/AUnicornClass/toString.html">toString</a></span><span class="signature">(<wbr>)
            <span class="returntype parameter">&#8594; String</span>
          </span>
          </dt>
        <dd class="inherited">
          
          <div class="features">inherited</div>
</dd>
      </dl>
    </section>

    <section class="summary offset-anchor inherited" id="operators">
      <h2>Operators</h2>
      <dl class="callables">
        <dt id="operator ==" class="callable inherited">
          <span class="name"><a href="reexport_two/AUnicornClass/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="type-annotation">dynamic</span> <span class="parameter-name">other</span></span>)
            <span class="returntype parameter">&#8594; bool</span>
          </span>
          </dt>
        <dd class="inherited">
          
          <div class="features">inherited</div>
</dd>
      </dl>
    </section>




  </div> <!-- /.main-content -->

  <div class="col-xs-6 col-sm-6 col-md-2 sidebar sidebar-offcanvas-right">
    <ol>
      <li class="section-title"><a href="reexport_two/AUnicornClass-class.html#constructors">Constructors</a></li>
      <li><a href="reexport_two/AUnicornClass/AUnicornClass.html">AUnicornClass</a></li>
    
      <li class="section-title inherited">
        <a href="reexport_two/AUnicornClass-class.html#instance-properties">Properties</a>
      </li>
      <li class="inherited"><a href="reexport_two/AUnicornClass/hashCode.html">hashCode</a></li>
      <li class="inherited"><a href="reexport_two/AUnicornClass/runtimeType.html">runtimeType</a></li>
    
      <li class="section-title inherited"><a href="reexport_two/AUnicornClass-class.html#instance-methods">Methods</a></li>
      <li class="inherited"><a href="reexport_two/AUnicornClass/noSuchMethod.html">noSuchMethod</a></li>
      <li class="inherited"><a href="reexport_two/AUnicornClass/toString.html">toString</a></li>
    
      <li class="section-title inherited"><a href="reexport_two/AUnicornClass-class.html#operators">Operators</a></li>
      <li class="inherited"><a href="reexport_two/AUnicornClass/operator_equals.html">operator ==</a></li>
    
    
    
    </ol>
  </div><!--/.sidebar-offcanvas-->

</main>

<footer>
  <span class="no-break">
    test_package 0.0.1
  </span>

</footer>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="static-assets/typeahead.bundle.min.js"></script>
<script src="static-assets/highlight.pack.js"></script>
<script src="static-assets/URI.js"></script>
<script src="static-assets/script.js"></script>


</body>

</html>
