diff options
| author | Laurenz <laurmaedje@gmail.com> | 2022-03-14 20:28:28 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2022-03-14 20:52:32 +0100 |
| commit | 288a926feae1e73dff5a6b103aa920d6f7eb0f35 (patch) | |
| tree | 186be7eb8260c7a30938bf14c52bbf75e9b40bff /src/eval | |
| parent | 9c7067bce3a4e683411dacc8653976b055570b39 (diff) | |
Knuth-Plass and MicroType
Diffstat (limited to 'src/eval')
| -rw-r--r-- | src/eval/styles.rs | 5 | ||||
| -rw-r--r-- | src/eval/value.rs | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/eval/styles.rs b/src/eval/styles.rs index e52aa9f3..7fcaf734 100644 --- a/src/eval/styles.rs +++ b/src/eval/styles.rs @@ -539,6 +539,11 @@ impl<T> StyleVec<T> { self.items.is_empty() } + /// Number of items in the sequence. + pub fn len(&self) -> usize { + self.items.len() + } + /// Iterate over the contained items. pub fn items(&self) -> std::slice::Iter<'_, T> { self.items.iter() diff --git a/src/eval/value.rs b/src/eval/value.rs index 8867b38a..0e0d08a8 100644 --- a/src/eval/value.rs +++ b/src/eval/value.rs @@ -491,6 +491,17 @@ impl<T> Smart<T> { Self::Custom(x) => x, } } + + /// Returns the contained custom value or computes a default value. + pub fn unwrap_or_else<F>(self, f: F) -> T + where + F: FnOnce() -> T, + { + match self { + Self::Auto => f(), + Self::Custom(x) => x, + } + } } impl<T> Default for Smart<T> { |
