#ifndef _INCLUDED_BOBCAT_COLUMNWIDTH_
#define _INCLUDED_BOBCAT_COLUMNWIDTH_

#include <string>
#include <vector>

#include <bobcat/tablespec>

namespace FBB
{
    class columnWidth;
}

std::ostream &operator<<(std::ostream &str, FBB::columnWidth const &cw);

namespace FBB
{

class columnWidth
{
    friend std::ostream &::operator<<(std::ostream &, columnWidth const &);

    TableSpec &d_table;

    public:
        columnWidth(TableSpec &table);
        
    private:
        std::ostream &insertInto(std::ostream &str) const;
};

inline columnWidth::columnWidth(TableSpec &table)
:
    d_table(table)
{}

inline std::ostream &columnWidth::insertInto(std::ostream &str) const
{
    d_table.setWidth(TableSpec::ColumnWidth);
    return str << d_table;
}

} // FBB

#endif
