Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
CharacterEncodingException.cpp
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3 */
4#include "Stroika/Foundation/StroikaPreComp.h"
5
9
11
12using namespace Stroika::Foundation;
14
15/*
16 ********************************************************************************
17 ******************** Characters::CharacterEncodingException ********************
18 ********************************************************************************
19 */
20CharacterEncodingException::CharacterEncodingException (EncodingOrDecoding encodingOrDecoding, optional<size_t> atSourceOffset,
21 const optional<String>& encoding)
22 : inherited{[=] () {
24 sb << (encodingOrDecoding == eEncoding ? "Encoding Exception: cannot construct code point for character"sv
25 : "Decoding Exception: cannot decode bytes to character"sv);
26 if (atSourceOffset) {
27 sb << " at source offset "sv << *atSourceOffset;
28 }
29 if (encoding) {
30 sb << " using "sv << *encoding << " encoding"sv;
31 }
32 sb << "."sv;
33 return sb;
34 }()}
35 , fEncodingOrDecoding_{encodingOrDecoding}
36 , fAtSourceOffset_{atSourceOffset}
37 , fEncoding_{encoding}
38{
39}
Similar to String, but intended to more efficiently construct a String. Mutable type (String is large...