# class cogs::Table

    #include <Table.h>

    class Table: public cogs::Grid {
    public:
        // construction

        Table(size_t columns, size_t rows);
        Table(size_t rows, const std::vector<std::string>& labels);

        // methods

        void SetRow(size_t row_id, const std::vector<std::string>& cells);
        std::string ToString() const;
    };

## Inherited Members

    public:
        // methods

        void Resize(const size_t width, const size_t height, const Type& init_value);
        void Resize(const size_t width, const size_t height);
        void Clear();
        void Fill(const Type value);
        void Fill(const geom::URect& area, const Type value);
        bool IsInBounds(const size_t x, const size_t y) const;
        Type& At(const size_t x, const size_t y);
        const Type& At(const size_t x, const size_t y) const;
        Type& operator()(const size_t x, const size_t y);
        size_t GetWidth() const;
        size_t GetHeight() const;
        void FlipX();
        void FlipY();
        void Foreach(std::function<void(size_t x, size_t y, const Type&value)> func) const;
        void Foreach(std::function<void(size_t x, size_t y, Type&value)> func);