Struct tabled::builder::IndexBuilder
source · pub struct IndexBuilder { /* private fields */ }
Available on crate feature
std
only.Expand description
IndexBuilder
helps to add an index to the table.
Index is a column on the left of the table.
It also can be used to transpose the table.
Creates a new IndexBuilder
instance.
It creates a default index a range from 0 to N. (N - count rows) It also sets a default columns to the range 0 .. N (N - count columns). nfo<’a>
Example
use tabled::builder::Builder;
let mut builder = Builder::default();
builder.push_record(["i", "col-1", "col-2"]);
builder.push_record(["0", "value-1", "value-2"]);
let table = builder.index().build().to_string();
assert_eq!(
table,
"+---+---+---------+---------+\n\
| | i | col-1 | col-2 |\n\
+---+---+---------+---------+\n\
| 0 | 0 | value-1 | value-2 |\n\
+---+---+---------+---------+"
)
Example
use tabled::builder::Builder;
let table = Builder::default()
.index()
.build();
Implementations§
source§impl IndexBuilder
impl IndexBuilder
sourcepub fn hide(self) -> Self
pub fn hide(self) -> Self
No flag makes builder to not use an index.
It may be useful when only Self::transpose
need to be used.
use tabled::builder::Builder;
let mut builder = Builder::default();
builder.push_record(["i", "col-1", "col-2"]);
builder.push_record(["0", "value-1", "value-2"]);
builder.push_record(["2", "value-3", "value-4"]);
let table = builder.index().hide().build().to_string();
assert_eq!(
table,
"+---+---------+---------+\n\
| i | col-1 | col-2 |\n\
+---+---------+---------+\n\
| 0 | value-1 | value-2 |\n\
+---+---------+---------+\n\
| 2 | value-3 | value-4 |\n\
+---+---------+---------+"
)
sourcepub fn name(self, name: Option<String>) -> Self
pub fn name(self, name: Option<String>) -> Self
Set an index name.
When None
the name won’t be used.
Example
use tabled::builder::Builder;
let mut builder = Builder::default();
builder.push_record(["i", "column1", "column2"]);
builder.push_record(["0", "value1", "value2"]);
let table = builder.index()
.column(1)
.name(Some(String::from("index")))
.build();
assert_eq!(
table.to_string(),
"+--------+---+---------+\n\
| | i | column2 |\n\
+--------+---+---------+\n\
| index | | |\n\
+--------+---+---------+\n\
| value1 | 0 | value2 |\n\
+--------+---+---------+"
)
sourcepub fn column(self, column: usize) -> Self
pub fn column(self, column: usize) -> Self
Sets a index to the chosen column.
Also sets a name of the index to the column name.
Example
use tabled::builder::Builder;
let mut builder = Builder::default();
builder.push_record(["i", "column1", "column2"]);
builder.push_record(["0", "value1", "value2"]);
let table = builder.index().column(1).build();
assert_eq!(
table.to_string(),
"+---------+---+---------+\n\
| | i | column2 |\n\
+---------+---+---------+\n\
| column1 | | |\n\
+---------+---+---------+\n\
| value1 | 0 | value2 |\n\
+---------+---+---------+"
)
sourcepub fn transpose(self) -> Self
pub fn transpose(self) -> Self
Transpose index and columns.
Example
use tabled::builder::Builder;
let mut builder = Builder::default();
builder.push_record(["i", "column-1", "column-2", "column-3"]);
builder.push_record(["0", "value-1", "value-2", "value-3"]);
builder.push_record(["1", "value-4", "value-5", "value-6"]);
builder.push_record(["2", "value-7", "value-8", "value-9"]);
let table = builder.index().column(1).transpose().build();
assert_eq!(
table.to_string(),
"+----------+---------+---------+---------+\n\
| column-1 | value-1 | value-4 | value-7 |\n\
+----------+---------+---------+---------+\n\
| i | 0 | 1 | 2 |\n\
+----------+---------+---------+---------+\n\
| column-2 | value-2 | value-5 | value-8 |\n\
+----------+---------+---------+---------+\n\
| column-3 | value-3 | value-6 | value-9 |\n\
+----------+---------+---------+---------+"
)
Trait Implementations§
source§impl Clone for IndexBuilder
impl Clone for IndexBuilder
source§fn clone(&self) -> IndexBuilder
fn clone(&self) -> IndexBuilder
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for IndexBuilder
impl Debug for IndexBuilder
source§impl From<Builder> for IndexBuilder
impl From<Builder> for IndexBuilder
source§impl From<IndexBuilder> for Builder
impl From<IndexBuilder> for Builder
source§fn from(b: IndexBuilder) -> Self
fn from(b: IndexBuilder) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl RefUnwindSafe for IndexBuilder
impl Send for IndexBuilder
impl Sync for IndexBuilder
impl Unpin for IndexBuilder
impl UnwindSafe for IndexBuilder
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more