pub struct CTConfig<T = u8, const REQUIRE_COMMA: bool = true, const TRAILING_COMMA: bool = false, const PRE_VALIDATE_UTF8: bool = true, const COMMENTS: bool = false> { /* private fields */ }Expand description
Compile-time configuration for JSON parsing behavior.
Implementations§
Source§impl<T, const A: bool, const B: bool, const C: bool> CTConfig<T, true, A, B, C>
impl<T, const A: bool, const B: bool, const C: bool> CTConfig<T, true, A, B, C>
Sourcepub fn optional_comma(self) -> CTConfig<T, false, true, B, C>
pub fn optional_comma(self) -> CTConfig<T, false, true, B, C>
Makes commas optional. As a side effect trailing commas are allowed automatically.
Source§impl<T, const A: bool, const B: bool, const C: bool> CTConfig<T, A, false, B, C>
impl<T, const A: bool, const B: bool, const C: bool> CTConfig<T, A, false, B, C>
Sourcepub fn allow_trailing_comma(self) -> CTConfig<T, A, true, B, C>
pub fn allow_trailing_comma(self) -> CTConfig<T, A, true, B, C>
Allows trailing commas when parsing.
Source§impl<T, const A: bool, const B: bool, const C: bool> CTConfig<T, A, B, true, C>
impl<T, const A: bool, const B: bool, const C: bool> CTConfig<T, A, B, true, C>
Sourcepub fn disable_utf8_pre_validation(self) -> CTConfig<T, A, B, false, C>
pub fn disable_utf8_pre_validation(self) -> CTConfig<T, A, B, false, C>
Disables UTF-8 pre-validation, which would otherwise be performed eagerly when possible.
Performing a single UTF-8 validation over the whole source is usually faster than doing it for each JSON string that is parsed. However, it can be considered overhead when the JSON has little to no strings.
Without this, the default behavior is to pre-validate the entire source for UTF-8 when the source is non-volatile and not guaranteed to be valid UTF-8 already.
Source§impl<T, const A: bool, const B: bool, const C: bool, const D: bool> CTConfig<T, A, B, C, D>
impl<T, const A: bool, const B: bool, const C: bool, const D: bool> CTConfig<T, A, B, C, D>
Sourcepub fn depth_limit<U>(self, v: U) -> CTConfig<U, A, B, C, D>
pub fn depth_limit<U>(self, v: U) -> CTConfig<U, A, B, C, D>
Sets depth limit for the input JSON.
Trait Implementations§
Source§impl<T: Clone, const REQUIRE_COMMA: bool, const TRAILING_COMMA: bool, const PRE_VALIDATE_UTF8: bool, const COMMENTS: bool> Clone for CTConfig<T, REQUIRE_COMMA, TRAILING_COMMA, PRE_VALIDATE_UTF8, COMMENTS>
impl<T: Clone, const REQUIRE_COMMA: bool, const TRAILING_COMMA: bool, const PRE_VALIDATE_UTF8: bool, const COMMENTS: bool> Clone for CTConfig<T, REQUIRE_COMMA, TRAILING_COMMA, PRE_VALIDATE_UTF8, COMMENTS>
impl<T: Depth, const REQUIRE_COMMA: bool, const TRAILING_COMMA: bool, const PRE_VALIDATE_UTF8: bool, const COMMENTS: bool> Config for CTConfig<T, REQUIRE_COMMA, TRAILING_COMMA, PRE_VALIDATE_UTF8, COMMENTS>
impl<T: Copy, const REQUIRE_COMMA: bool, const TRAILING_COMMA: bool, const PRE_VALIDATE_UTF8: bool, const COMMENTS: bool> Copy for CTConfig<T, REQUIRE_COMMA, TRAILING_COMMA, PRE_VALIDATE_UTF8, COMMENTS>
Auto Trait Implementations§
impl<T, const REQUIRE_COMMA: bool, const TRAILING_COMMA: bool, const PRE_VALIDATE_UTF8: bool, const COMMENTS: bool> Freeze for CTConfig<T, REQUIRE_COMMA, TRAILING_COMMA, PRE_VALIDATE_UTF8, COMMENTS>where
T: Freeze,
impl<T, const REQUIRE_COMMA: bool, const TRAILING_COMMA: bool, const PRE_VALIDATE_UTF8: bool, const COMMENTS: bool> RefUnwindSafe for CTConfig<T, REQUIRE_COMMA, TRAILING_COMMA, PRE_VALIDATE_UTF8, COMMENTS>where
T: RefUnwindSafe,
impl<T, const REQUIRE_COMMA: bool, const TRAILING_COMMA: bool, const PRE_VALIDATE_UTF8: bool, const COMMENTS: bool> Send for CTConfig<T, REQUIRE_COMMA, TRAILING_COMMA, PRE_VALIDATE_UTF8, COMMENTS>where
T: Send,
impl<T, const REQUIRE_COMMA: bool, const TRAILING_COMMA: bool, const PRE_VALIDATE_UTF8: bool, const COMMENTS: bool> Sync for CTConfig<T, REQUIRE_COMMA, TRAILING_COMMA, PRE_VALIDATE_UTF8, COMMENTS>where
T: Sync,
impl<T, const REQUIRE_COMMA: bool, const TRAILING_COMMA: bool, const PRE_VALIDATE_UTF8: bool, const COMMENTS: bool> Unpin for CTConfig<T, REQUIRE_COMMA, TRAILING_COMMA, PRE_VALIDATE_UTF8, COMMENTS>where
T: Unpin,
impl<T, const REQUIRE_COMMA: bool, const TRAILING_COMMA: bool, const PRE_VALIDATE_UTF8: bool, const COMMENTS: bool> UnsafeUnpin for CTConfig<T, REQUIRE_COMMA, TRAILING_COMMA, PRE_VALIDATE_UTF8, COMMENTS>where
T: UnsafeUnpin,
impl<T, const REQUIRE_COMMA: bool, const TRAILING_COMMA: bool, const PRE_VALIDATE_UTF8: bool, const COMMENTS: bool> UnwindSafe for CTConfig<T, REQUIRE_COMMA, TRAILING_COMMA, PRE_VALIDATE_UTF8, COMMENTS>where
T: UnwindSafe,
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