/*
    Copyright (C) 2012  Povilas Kanapickas <povilas@radix.lt>

    This file is part of cppreference-doc

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see http://www.gnu.org/licenses/.
*/
digraph inheritance {
    @SETTINGS@

    rankdir=BT

    base [
        label = "ios_base",
        tooltip = "std::ios_base",
        URL="cpp/io/ios_base"
    ];
    ios [
        label = <basic_ios<br/><font color="#808080">&lt;CharT, Traits&gt;</font>>,
        tooltip = "std::basic_ios"
        URL="cpp/io/basic_ios"
    ];
    ist [
        label = <basic_istream<br/><font color="#808080">&lt;CharT, Traits&gt;</font>>,
        tooltip = "std::basic_istream",
        URL="cpp/io/basic_istream"
    ];
    ifst [
        group = i,
        label = <basic_ifstream<br/><font color="#808080">&lt;CharT, Traits&gt;</font>>,
        tooltip = "std::basic_ifstream",
        URL="cpp/io/basic_ifstream"
    ];
    isst [
        group = i,
        label = <basic_istringstream<br/><font color="#808080">&lt;CharT, Traits&gt;</font>>,
        tooltip = "std::basic_istringstream",
        URL="cpp/io/basic_istringstream"
    ];
    ost [
        label = <basic_ostream<br/><font color="#808080">&lt;CharT, Traits&gt;</font>>,
        tooltip = "std::basic_ostream",
        URL="cpp/io/basic_ostream"
    ];
    ofst [
        group = o,
        label = <basic_ofstream<br/><font color="#808080">&lt;CharT, Traits&gt;</font>>,
        tooltip = "std::basic_ofstream",
        URL="cpp/io/basic_ofstream"
    ];
    osst [
        group = o,
        label = <basic_ostringstream<br/><font color="#808080">&lt;CharT, Traits&gt;</font>>,
        tooltip = "std::basic_ostringstream",
        URL="cpp/io/basic_ostringstream"
    ];
    iost [
        label = <basic_iostream<br/><font color="#808080">&lt;CharT, Traits&gt;</font>>,
        tooltip = "std::basic_iostream",
        URL="cpp/io/basic_iostream"
    ];
    fst [
        group = io,
        label = <basic_fstream<br/><font color="#808080">&lt;CharT, Traits&gt;</font>>,
        tooltip = "std::basic_fstream",
        URL="cpp/io/basic_fstream"
    ];
    sst [
        group = io,
        label = <basic_stringstream<br/><font color="#808080">&lt;CharT, Traits&gt;</font>>,
        tooltip = "std::basic_stringstream",
        URL="cpp/io/basic_stringstream"
    ];

    ios -> base;
    ist -> ios;
    ost -> ios;
    iost -> ist;
    ifst -> ist;
    isst -> ist;
    iost -> ost;
    ofst -> ost;
    osst -> ost;
    fst -> iost;
    sst -> iost;

    {rank = same; ofst -> ifst [style=invis]}
    {rank = same; ofst -> fst [style=invis]}
    {rank = same; fst -> ifst [style=invis]}
    {rank = same; osst -> isst [style=invis]}
    {rank = same; osst -> sst [style=invis]}
    {rank = same; sst -> isst [style=invis]}
    {ofst -> osst [style=invis]}
    {ifst -> isst [style=invis]}
    {fst -> sst [style=invis]}
}​​
