BDE 4.14.0 Production release
|
Provide a value-semantic attribute class for encoder options.
This component provides a value-semantic attribute class for specifying options for bdlde::Base64Encoder
.
This class
supports default-generated copy construction and copy assignment, but the constructor is private. To create an object one must call one of the class methods, which will return a newly-constructed object by value. Specialized class methods are provided to create objects configured for the mime
, urlSafe
, and standard
configurations.
Other configurations may be obtained by specifying arguments to the custom
class method, or by calling the setters after the object is created.
This section illustrates intended use of this component.
Suppose we want a Base64EncoderOptions
object configured for MIME encoding, meaning maxLineLength == 76
, alphabet == e_BASIC
, and isPadded == true
.
First, it turns out that those are the default values of the attributes, so all we have to do is default construct an object, and we're done.
Then, we check the attributes:
Now, we stream the object:
Finally, we observe the output:
Suppose we want a Base64EncoderOptions
object configured for translating URL's. That would mean a maxLineLength == 0
, alphabet == e_URL
, and isPadded == false
.
First, the class method urlSafe
returns an object configured exactly that way, so we simply call it:
Then, we check the attributes:
Now, we stream the object:
Finally, we observe the output:
Suppose we want an options object configured for standard Base64:
First, we can simply call the standard
class method:
Then, we check the attributes:
Now, we stream the object:
Finally, we observe the output:
Suppose we want a really strangely configured options object with maxLineLength == 200
, alphabet == e_URL
, and padding.
First, we can simply call the custom
class method:
Then, we check the attributes:
Now, we stream the object:
Finally, we observe the output: