toml_edit

Struct Table

Source
pub struct Table { /* private fields */ }
Expand description

Type representing a TOML non-inline table

Implementations§

Source§

impl Table

Constructors

See also FromIterator

Source

pub fn new() -> Self

Creates an empty table.

Source

pub fn into_inline_table(self) -> InlineTable

Convert to an inline table

Source§

impl Table

Formatting

Source

pub fn get_values(&self) -> Vec<(Vec<&Key>, &Value)>

Get key/values for values that are visually children of this table

For example, this will return dotted keys

Source

pub fn fmt(&mut self)

Auto formats the table.

Source

pub fn sort_values(&mut self)

Sorts Key/Value Pairs of the table.

Doesn’t affect subtables or subarrays.

Source

pub fn sort_values_by<F>(&mut self, compare: F)
where F: FnMut(&Key, &Item, &Key, &Item) -> Ordering,

Sort Key/Value Pairs of the table using the using the comparison function compare.

The comparison function receives two key and value pairs to compare (you can sort by keys or values or their combination as needed).

Source

pub fn set_implicit(&mut self, implicit: bool)

If a table has no key/value pairs and implicit, it will not be displayed.

§Examples
[target."x86_64/windows.json".dependencies]

In the document above, tables target and target."x86_64/windows.json" are implicit.

use toml_edit::DocumentMut;
let mut doc = "[a]\n[a.b]\n".parse::<DocumentMut>().expect("invalid toml");

doc["a"].as_table_mut().unwrap().set_implicit(true);
assert_eq!(doc.to_string(), "[a.b]\n");
Source

pub fn is_implicit(&self) -> bool

If a table has no key/value pairs and implicit, it will not be displayed.

Source

pub fn set_dotted(&mut self, yes: bool)

Change this table’s dotted status

Source

pub fn is_dotted(&self) -> bool

Check if this is a wrapper for dotted keys, rather than a standard table

Source

pub fn set_position(&mut self, doc_position: usize)

Sets the position of the Table within the DocumentMut.

Source

pub fn position(&self) -> Option<usize>

The position of the Table within the DocumentMut.

Returns None if the Table was created manually (i.e. not via parsing) in which case its position is set automatically. This can be overridden with Table::set_position.

Source

pub fn decor_mut(&mut self) -> &mut Decor

Returns the surrounding whitespace

Source

pub fn decor(&self) -> &Decor

Returns the decor associated with a given key of the table.

Source

pub fn key(&self, key: &str) -> Option<&Key>

Returns an accessor to a key’s formatting

Source

pub fn key_mut(&mut self, key: &str) -> Option<KeyMut<'_>>

Returns an accessor to a key’s formatting

Source

pub fn key_decor_mut(&mut self, key: &str) -> Option<&mut Decor>

👎Deprecated since 0.21.1: Replaced with key_mut

Returns the decor associated with a given key of the table.

Source

pub fn key_decor(&self, key: &str) -> Option<&Decor>

👎Deprecated since 0.21.1: Replaced with key_mut

Returns the decor associated with a given key of the table.

Source

pub fn span(&self) -> Option<Range<usize>>

The location within the original document

This generally requires an ImDocument.

Source§

impl Table

Source

pub fn iter(&self) -> Iter<'_>

Returns an iterator over all key/value pairs, including empty.

Source

pub fn iter_mut(&mut self) -> IterMut<'_>

Returns an mutable iterator over all key/value pairs, including empty.

Source

pub fn len(&self) -> usize

Returns the number of non-empty items in the table.

Source

pub fn is_empty(&self) -> bool

Returns true if the table is empty.

Source

pub fn clear(&mut self)

Clears the table, removing all key-value pairs. Keeps the allocated memory for reuse.

Source

pub fn entry<'a>(&'a mut self, key: &str) -> Entry<'a>

Gets the given key’s corresponding entry in the Table for in-place manipulation.

Source

pub fn entry_format<'a>(&'a mut self, key: &Key) -> Entry<'a>

Gets the given key’s corresponding entry in the Table for in-place manipulation.

Source

pub fn get<'a>(&'a self, key: &str) -> Option<&'a Item>

Returns an optional reference to an item given the key.

Source

pub fn get_mut<'a>(&'a mut self, key: &str) -> Option<&'a mut Item>

Returns an optional mutable reference to an item given the key.

Source

pub fn get_key_value<'a>(&'a self, key: &str) -> Option<(&'a Key, &'a Item)>

Return references to the key-value pair stored for key, if it is present, else None.

Source

pub fn get_key_value_mut<'a>( &'a mut self, key: &str, ) -> Option<(KeyMut<'a>, &'a mut Item)>

Return mutable references to the key-value pair stored for key, if it is present, else None.

Source

pub fn contains_key(&self, key: &str) -> bool

Returns true if the table contains an item with the given key.

Source

pub fn contains_table(&self, key: &str) -> bool

Returns true if the table contains a table with the given key.

Source

pub fn contains_value(&self, key: &str) -> bool

Returns true if the table contains a value with the given key.

Source

pub fn contains_array_of_tables(&self, key: &str) -> bool

Returns true if the table contains an array of tables with the given key.

Source

pub fn insert(&mut self, key: &str, item: Item) -> Option<Item>

Inserts a key-value pair into the map.

Source

pub fn insert_formatted(&mut self, key: &Key, item: Item) -> Option<Item>

Inserts a key-value pair into the map.

Source

pub fn remove(&mut self, key: &str) -> Option<Item>

Removes an item given the key.

Source

pub fn remove_entry(&mut self, key: &str) -> Option<(Key, Item)>

Removes a key from the map, returning the stored key and value if the key was previously in the map.

Source

pub fn retain<F>(&mut self, keep: F)
where F: FnMut(&str, &mut Item) -> bool,

Retains only the elements specified by the keep predicate.

In other words, remove all pairs (key, item) for which keep(&key, &mut item) returns false.

The elements are visited in iteration order.

Trait Implementations§

Source§

impl Clone for Table

Source§

fn clone(&self) -> Table

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Table

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Table

Source§

fn default() -> Table

Returns the “default value” for a type. Read more
Source§

impl Display for Table

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<K: Into<Key>, V: Into<Item>> Extend<(K, V)> for Table

Source§

fn extend<T: IntoIterator<Item = (K, V)>>(&mut self, iter: T)

Extends a collection with the contents of an iterator. Read more
Source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
Source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
Source§

impl Extend<Table> for ArrayOfTables

Source§

fn extend<T: IntoIterator<Item = Table>>(&mut self, iter: T)

Extends a collection with the contents of an iterator. Read more
Source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
Source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
Source§

impl From<Table> for DocumentMut

Source§

fn from(root: Table) -> Self

Converts to this type from the input type.
Source§

impl<K: Into<Key>, V: Into<Item>> FromIterator<(K, V)> for Table

Source§

fn from_iter<I>(iter: I) -> Self
where I: IntoIterator<Item = (K, V)>,

Creates a value from an iterator. Read more
Source§

impl FromIterator<Table> for ArrayOfTables

Source§

fn from_iter<I>(iter: I) -> Self
where I: IntoIterator<Item = Table>,

Creates a value from an iterator. Read more
Source§

impl<'s> Index<&'s str> for Table

Source§

type Output = Item

The returned type after indexing.
Source§

fn index(&self, key: &'s str) -> &Item

Performs the indexing (container[index]) operation. Read more
Source§

impl<'s> IndexMut<&'s str> for Table

Source§

fn index_mut(&mut self, key: &'s str) -> &mut Item

Performs the mutable indexing (container[index]) operation. Read more
Source§

impl<'s> IntoIterator for &'s Table

Source§

type Item = (&'s str, &'s Item)

The type of the elements being iterated over.
Source§

type IntoIter = Box<dyn Iterator<Item = (&'s str, &'s Item)> + 's>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl IntoIterator for Table

Source§

type Item = (InternalString, Item)

The type of the elements being iterated over.
Source§

type IntoIter = Box<dyn Iterator<Item = (InternalString, Item)>>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl TableLike for Table

Source§

fn iter(&self) -> Iter<'_>

Returns an iterator over key/value pairs.
Source§

fn iter_mut(&mut self) -> IterMut<'_>

Returns an mutable iterator over all key/value pairs, including empty.
Source§

fn clear(&mut self)

Clears the table, removing all key-value pairs. Keeps the allocated memory for reuse.
Source§

fn entry<'a>(&'a mut self, key: &str) -> Entry<'a>

Gets the given key’s corresponding entry in the Table for in-place manipulation.
Source§

fn entry_format<'a>(&'a mut self, key: &Key) -> Entry<'a>

Gets the given key’s corresponding entry in the Table for in-place manipulation.
Source§

fn get<'s>(&'s self, key: &str) -> Option<&'s Item>

Returns an optional reference to an item given the key.
Source§

fn get_mut<'s>(&'s mut self, key: &str) -> Option<&'s mut Item>

Returns an optional mutable reference to an item given the key.
Source§

fn get_key_value<'a>(&'a self, key: &str) -> Option<(&'a Key, &'a Item)>

Return references to the key-value pair stored for key, if it is present, else None.
Source§

fn get_key_value_mut<'a>( &'a mut self, key: &str, ) -> Option<(KeyMut<'a>, &'a mut Item)>

Return mutable references to the key-value pair stored for key, if it is present, else None.
Source§

fn contains_key(&self, key: &str) -> bool

Returns true if the table contains an item with the given key.
Source§

fn insert(&mut self, key: &str, value: Item) -> Option<Item>

Inserts a key-value pair into the map.
Source§

fn remove(&mut self, key: &str) -> Option<Item>

Removes an item given the key.
Source§

fn get_values(&self) -> Vec<(Vec<&Key>, &Value)>

Get key/values for values that are visually children of this table Read more
Source§

fn fmt(&mut self)

Auto formats the table.
Source§

fn sort_values(&mut self)

Sorts Key/Value Pairs of the table. Read more
Source§

fn is_dotted(&self) -> bool

Check if this is a wrapper for dotted keys, rather than a standard table
Source§

fn set_dotted(&mut self, yes: bool)

Change this table’s dotted status
Source§

fn key(&self, key: &str) -> Option<&Key>

Returns an accessor to a key’s formatting
Source§

fn key_mut(&mut self, key: &str) -> Option<KeyMut<'_>>

Returns an accessor to a key’s formatting
Source§

fn key_decor_mut(&mut self, key: &str) -> Option<&mut Decor>

👎Deprecated since 0.21.1: Replaced with key_mut
Returns the decor associated with a given key of the table.
Source§

fn key_decor(&self, key: &str) -> Option<&Decor>

👎Deprecated since 0.21.1: Replaced with key_mut
Returns the decor associated with a given key of the table.
Source§

fn len(&self) -> usize

Returns the number of nonempty items.
Source§

fn is_empty(&self) -> bool

Returns true if the table is empty.

Auto Trait Implementations§

§

impl Freeze for Table

§

impl RefUnwindSafe for Table

§

impl Send for Table

§

impl Sync for Table

§

impl Unpin for Table

§

impl UnwindSafe for Table

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.