def max_table_width(self):
        """get/set the maximum width of the table.

        The width of the table is guaranteed to not exceed this value. If it
        is not possible to print a given table with the width provided, this
        value will automatically adjust.
        """
        offset = ((self._column_count - 1)
                  * termwidth(self.column_separator_char))
        offset += termwidth(self.left_border_char)
        offset += termwidth(self.right_border_char)
        self._max_table_width = max(self._max_table_width,
                                    offset + self._column_count)
        return self._max_table_width