<!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="generator" content="made with love by dartdoc 0.8.2">
  <title>toString method - CatString class - ex 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|Roboto:500,400italic,300,400' rel='stylesheet' type='text/css'>
  <link rel="stylesheet" href="static-assets/prettify.css">
  <link rel="stylesheet" href="static-assets/css/bootstrap.min.css">
  <link rel="stylesheet" href="static-assets/styles.css">

  <meta name="description" content="API docs for the toString method from the CatString class, for the Dart programming language.">
  <link rel="icon" href="static-assets/favicon.png">

  <!-- Do not remove placeholder -->
  <!-- Header Placeholder -->
</head>

<body>

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

<header class="container-fluid" id="title">
  <nav class="navbar navbar-fixed-top">
    <div class="container">
      <div class="row">
        <div class="col-sm-12 contents">
          <button id="sidenav-left-toggle" type="button">&nbsp;</button>
          <ol class="breadcrumbs gt-separated hidden-xs">
            <li><a href="index.html">test_package</a></li>
            <li><a href="ex/ex-library.html">ex</a></li>
            <li><a href="ex/CatString-class.html">CatString</a></li>
            <li class="self-crumb">toString</li>
          </ol>
          <div class="self-name">toString</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>
        </div> <!-- /col -->
      </div> <!-- /row -->
    </div> <!-- /container -->
  </nav>

  <div class="container masthead">
    <div class="row">
      <div class="col-sm-12 contents">
        <ol class="breadcrumbs gt-separated visible-xs">
          <li><a href="index.html">test_package</a></li>
          <li><a href="ex/ex-library.html">ex</a></li>
          <li><a href="ex/CatString-class.html">CatString</a></li>
          <li class="self-crumb">toString</li>
        </ol>
        <div class="title-description">
          <h1 class="title">
            <span class="kind">method</span> toString
          </h1>
        </div>
        <ul class="subnav">
          <li><a href="ex/CatString/toString.html#source">Source</a></li>
        </ul>
      </div> <!-- /col -->
    </div> <!-- /row -->
  </div> <!-- /container -->

</header>

<div class="container body">
  <div class="row">

  <div class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
    <h5><a href="index.html">test_package</a></h5>
    <h5><a href="ex/ex-library.html">ex</a></h5>
    <h5><a href="ex/CatString-class.html">CatString</a></h5>

    <ol>
    
    
    
      <li class="section-title"><a href="ex/CatString-class.html#constructors">Constructors</a></li>
      <li><a href="ex/CatString/CatString.html">CatString</a></li>
    
      <li class="section-title inherited">
        <a href="ex/CatString-class.html#instance-properties">Properties</a>
      </li>
      <li class="inherited"><a href="ex/CatString/hashCode.html">hashCode</a></li>
      <li class="inherited"><a href="ex/CatString/isEmpty.html">isEmpty</a></li>
      <li class="inherited"><a href="ex/CatString/isNotEmpty.html">isNotEmpty</a></li>
      <li class="inherited"><a href="ex/CatString/length.html">length</a></li>
      <li class="inherited"><a href="ex/CatString/runtimeType.html">runtimeType</a></li>
    
      <li class="section-title inherited"><a href="ex/CatString-class.html#operators">Operators</a></li>
      <li class="inherited"><a href="ex/CatString/operator_equals.html">operator ==</a></li>
    
      <li class="section-title inherited"><a href="ex/CatString-class.html#instance-methods">Methods</a></li>
      <li class="inherited"><a href="ex/CatString/clear.html">clear</a></li>
      <li class="inherited"><a href="ex/CatString/noSuchMethod.html">noSuchMethod</a></li>
      <li class="inherited"><a href="ex/CatString/toString.html">toString</a></li>
      <li class="inherited"><a href="ex/CatString/write.html">write</a></li>
      <li class="inherited"><a href="ex/CatString/writeAll.html">writeAll</a></li>
      <li class="inherited"><a href="ex/CatString/writeCharCode.html">writeCharCode</a></li>
      <li class="inherited"><a href="ex/CatString/writeln.html">writeln</a></li>
    </ol>

  </div><!--/.sidebar-offcanvas-->

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

    <section class="multi-line-signature">
        <span class="returntype">String</span>
        <span class="name ">toString</span>(<wbr>)
    </section>

    <section class="desc markdown">
      <p>Returns the contents of buffer as a concatenated string.</p>
    </section>
    
    <section class="summary source-code" id="source">
      <h2><span>Source</span> </h2>
      <pre><code class="prettyprint lang-dart">external String toString();</code></pre>
    </section>

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

</div> <!-- row -->
</div> <!-- container -->

<footer>
  <div class="container-fluid">
    <div class="container">
      <p class="text-center">
        <span class="no-break">
          test_package 0.0.1
        </span>
        &bull;
        <span class="no-break">
          <a href="https://www.dartlang.org">
            <img src="static-assets/favicon.png" alt="Dart" title="Dart" width="16" height="16">
          </a>
        </span>
        &bull;
        <span class="copyright no-break">
          <a href="http://creativecommons.org/licenses/by-sa/4.0/">cc license</a>
        </span>
      </p>
    </div>
  </div>
</footer>

<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="static-assets/typeahead.bundle.min.js"></script>
<script src="static-assets/prettify.js"></script>
<script src="static-assets/script.js"></script>
<!-- Do not remove placeholder -->
<!-- Footer Placeholder -->

</body>

</html>
