/// Creates a [`Table`] with [`Display`] arguments nested within. /// /// The macros allows several tables to be displayed horizontally. /// /// Companion to [`col!`]. /// /// # Examples /// ```rust,no_run /// # use tabled::{row, col, Table}; /// # let (table1, table2, table3) = (Table::new(&[String::new()]), Table::new(&[String::new()]), Table::new(&[String::new()])); /// let new_table = row![table1, table2]; /// let new_table_of_clones = row![table1; 3]; /// let rows_and_columns = row![ /// table1, /// col![table2, table3] /// ]; /// ``` /// /// [`col!`]: crate::col /// [`Table`]: crate::Table /// [`Display`]: std::fmt::Display #[macro_export] #[cfg_attr(docsrs, doc(cfg(feature = "macros")))] macro_rules! row { // Horizontal Display ( $($table:expr), * $(,)? ) => {{ let mut builder = $crate::builder::Builder::default(); let record = [ $($table.to_string(),)* ]; builder.push_record(record); builder.build() }}; // Duplicate single item ( $table:expr; $N:expr) => {{ let mut builder = $crate::builder::Builder::default(); let duplicates = vec![$table.to_string(); $N]; builder.push_record(duplicates); builder.build() }}; }