Home
Base module

base64::Encoder

Base64 encoder.

Encoder

#include <icy/base64.h>
struct Encoder

Defined in src/base/include/icy/base64.h:102

Inherits: Encoder

Base64 encoder.

List of all members

NameKindOwner
_statevariableDeclared here
_buffersizevariableDeclared here
EncoderfunctionDeclared here
encodefunctionDeclared here
encodefunctionDeclared here
encodefunctionDeclared here
finalizefunctionDeclared here
setLineLengthfunctionDeclared here
EncoderfunctionInherited from Encoder
~EncoderfunctionInherited from Encoder
encodefunctionInherited from Encoder
finalizefunctionInherited from Encoder

Inherited from Encoder

KindNameDescription
functionEncoderDefaulted constructor.
function~Encoder virtualDefaulted destructor.
functionencode virtualEncodes nread bytes from inbuf and writes encoded output to outbuf.
functionfinalize virtual inlineFlushes any buffered state and writes final output to outbuf.

Public Attributes

ReturnNameDescription
internal::encodestate_state
int_buffersize

_state

internal::encodestate _state

Defined in src/base/include/icy/base64.h:178


_buffersize

int _buffersize

Defined in src/base/include/icy/base64.h:179

Public Methods

ReturnNameDescription
Encoder inline
voidencode inlineEncodes the entire input stream and writes Base64 output to ostrm. Resets the encoder state after completion.
voidencode inlineEncodes a string to Base64 and appends the result to out. Resets the encoder state after completion.
ssize_tencode virtual inline overrideEncodes a raw buffer, writing Base64 characters to outbuf. May be called multiple times before calling [finalize()](#finalize-4).
ssize_tfinalize virtual inline overrideWrites any pending padding and resets the encoder state. Must be called once after all [encode()](#encode-17) calls to flush the final block.
voidsetLineLength inlineSets the line wrap length for encoded output (0 disables line wrapping).

Encoder

inline

inline Encoder(int buffersize = BUFFER_SIZE)

Defined in src/base/include/icy/base64.h:105

Parameters

  • buffersize Internal read buffer size in bytes.

encode

inline

inline void encode(std::istream & istrm, std::ostream & ostrm)

Defined in src/base/include/icy/base64.h:115

Encodes the entire input stream and writes Base64 output to ostrm. Resets the encoder state after completion.

Parameters

  • istrm Source stream to encode.

  • ostrm Destination stream for Base64 output.


encode

inline

inline void encode(const std::string & in, std::string & out)

Defined in src/base/include/icy/base64.h:141

Encodes a string to Base64 and appends the result to out. Resets the encoder state after completion.

Parameters

  • in Input string.

  • out Output string to which Base64 characters are appended.


encode

virtual inline override

virtual inline ssize_t encode(const char * inbuf, size_t nread, char * outbuf) override

Defined in src/base/include/icy/base64.h:160

Encodes a raw buffer, writing Base64 characters to outbuf. May be called multiple times before calling [finalize()](#finalize-4).

Parameters

  • inbuf Input binary data.

  • nread Number of bytes to encode.

  • outbuf Output buffer; must be at least nread * 4 / 3 + 4 bytes.

Returns

Number of Base64 characters written.

Reimplements

finalize

virtual inline override

virtual inline ssize_t finalize(char * outbuf) override

Defined in src/base/include/icy/base64.h:169

Writes any pending padding and resets the encoder state. Must be called once after all [encode()](#encode-17) calls to flush the final block.

Parameters

  • outbuf Output buffer; must be at least 5 bytes.

Returns

Number of characters written.

Reimplements

setLineLength

inline

inline void setLineLength(int lineLength)

Defined in src/base/include/icy/base64.h:176

Sets the line wrap length for encoded output (0 disables line wrapping).

Parameters

  • lineLength Characters per line; use 0 to disable.