<!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 getterWithDocs property from the BaseForDocComments class, for the Dart programming language.">
  <title>getterWithDocs property - BaseForDocComments class - fake 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="fake/fake-library.html">fake</a></li>
    <li><a href="fake/BaseForDocComments-class.html">BaseForDocComments</a></li>
    <li class="self-crumb">getterWithDocs property</li>
  </ol>
  <div class="self-name">getterWithDocs</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">
    <header id="header-search-sidebar" class="hidden-l">
      <form class="search-sidebar" role="search">
        <input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
      </form>
    </header>
    
    <ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
      <li><a href="index.html">test_package</a></li>
      <li><a href="fake/fake-library.html">fake</a></li>
      <li><a href="fake/BaseForDocComments-class.html">BaseForDocComments</a></li>
      <li class="self-crumb">getterWithDocs property</li>
    </ol>
    
    <h5>BaseForDocComments class</h5>
    <ol>
      <li class="section-title"><a href="fake/BaseForDocComments-class.html#constructors">Constructors</a></li>
      <li><a href="fake/BaseForDocComments/BaseForDocComments.html">BaseForDocComments</a></li>
    
      <li class="section-title">
        <a href="fake/BaseForDocComments-class.html#instance-properties">Properties</a>
      </li>
      <li><a href="fake/BaseForDocComments/getterWithDocs.html">getterWithDocs</a></li>
      <li class="inherited"><a href="fake/BaseForDocComments/hashCode.html">hashCode</a></li>
      <li class="inherited"><a href="fake/BaseForDocComments/runtimeType.html">runtimeType</a></li>
    
      <li class="section-title"><a href="fake/BaseForDocComments-class.html#instance-methods">Methods</a></li>
      <li><a href="fake/BaseForDocComments/anotherMethod.html">anotherMethod</a></li>
      <li><a href="fake/BaseForDocComments/doAwesomeStuff.html">doAwesomeStuff</a></li>
      <li class="inherited"><a href="fake/BaseForDocComments/noSuchMethod.html">noSuchMethod</a></li>
      <li class="inherited"><a href="fake/BaseForDocComments/toString.html">toString</a></li>
    
      <li class="section-title"><a href="fake/BaseForDocComments-class.html#operators">Operators</a></li>
      <li><a href="fake/BaseForDocComments/operator_get.html">operator []</a></li>
      <li class="inherited"><a href="fake/BaseForDocComments/operator_equals.html">operator ==</a></li>
    
    
    
    </ol>
  </div><!--/.sidebar-offcanvas-->

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


        <section id="getter">
        
        <section class="multi-line-signature">
          <span class="returntype">bool</span>
          <span class="name ">getterWithDocs</span>
  
</section>
        
        <section class="desc markdown">
  <p>Some really great topics.</p>
</section>

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

  <div class="col-xs-6 col-sm-6 col-md-2 sidebar sidebar-offcanvas-right">
  </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>
