What is Tabular?
Tabular is a lightweight, header-only C++ library for creating well-formatted, fully-customizable CLI tables. It provides a simple and intuitive API for building beautiful command-line interfaces with minimal setup.Key Features
Full Unicode Support
Locale-independent display width handling with complete Unicode support
Cross-Platform
Cross-platform rendering through the
render() functionCustomizable Styling
Fully customizable through
Alignment, Padding, Color, Rgb, and text attributesFlexible Tables
Support for flexible tables with variant number of columns
Color Support
Compatible with fmtlib’s colored strings
Header-Only
Lightweight library with a single-include file option
Additional Features
- C++11 Support: Full C++11 compatibility using only standard headers (
vector,string,stdexcept,cstdint) - Customizable Borders: Pre-defined border templates (Default, Modern, Double, Rounded, Heavy) with full customization options
- Minimal Dependencies: No external dependencies required
- Easy Integration: Available as header files or single-include file
Use Cases
Tabular is perfect for:- CLI Applications: Build professional command-line tools with formatted output
- Data Visualization: Display tabular data in a readable format
- Logging and Reports: Create structured logs and reports in the terminal
- Dashboard UIs: Build terminal-based dashboards and monitoring tools
- Configuration Displays: Show configuration data in an organized way
Requirements
- C++ Standard: C++11 or later
- Dependencies: None (uses only standard library headers)
- Platform: Cross-platform (Linux, macOS, Windows)
For best results with multibyte characters (especially CJK characters), use the
render() function instead of direct output with std::cout.Next Steps
Installation
Install Tabular using CMake or as a header-only library
Quick Start
Create your first table in minutes