Zig 0.17.0-dev (Split by item)

Shortcut keys
?
Show these tips
S
Focus search field
Esc
Clear focus & close tips
U
Jump to source code
↑
Move up in search results
↓
Move down in search results
↵
Go to active search result
This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig standard library. Public Function

calcSizeForSlice

Public Function
std.base64.Base64Decoder.calcSizeForSlice
pub fn calcSizeForSlice(decoder: *const Base64Decoder, source: []const u8) Error!usize

Return the exact decoded size for a slice. InvalidPadding is returned if the input length is not valid.

Params

Errors

InvalidCharacter
InvalidPadding
NoSpaceLeft

File

base64.zig:217
217
218
219
220
221
222
223
224
225
    pub fn calcSizeForSlice(decoder: *const Base64Decoder, source: []const u8) Error!usize {
        const source_len = source.len;
        var result = try decoder.calcSizeUpperBound(source_len);
        if (decoder.pad_char) |pad_char| {
            if (source_len >= 1 and source[source_len - 1] == pad_char) result -= 1;
            if (source_len >= 2 and source[source_len - 2] == pad_char) result -= 1;
        }
        return result;
    }