373 const char *endPtr = 0);
401 bsl::size_t *numCodePointsWritten = 0,
402 wchar_t errorWord =
'?',
406 std::wstring *dstString,
408 bsl::size_t *numCodePointsWritten = 0,
409 wchar_t errorWord =
'?',
412#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
414 std::pmr::wstring *dstString,
416 bsl::size_t *numCodePointsWritten = 0,
417 wchar_t errorWord =
'?',
422 const char *srcString,
423 bsl::size_t *numCodePointsWritten = 0,
424 wchar_t errorWord =
'?',
428 std::wstring *dstString,
429 const char *srcString,
430 bsl::size_t *numCodePointsWritten = 0,
431 wchar_t errorWord =
'?',
434#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
435 static int utf8ToUtf16(std::pmr::wstring *dstString,
436 const char *srcString,
437 bsl::size_t *numCodePointsWritten = 0,
438 wchar_t errorWord =
'?',
441#if defined(BSLS_COMPILERFEATURES_SUPPORT_UNICODE_CHAR_TYPES)
443 bsl::u16string *dstString,
445 bsl::size_t *numCodePointsWritten = 0,
446 char16_t errorChar =
'?',
450 std::u16string *dstString,
452 bsl::size_t *numCodePointsWritten = 0,
453 char16_t errorChar =
'?',
456# ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
458 std::pmr::u16string *dstString,
460 bsl::size_t *numCodePointsWritten = 0,
461 char16_t errorChar =
'?',
466 bsl::u16string *dstString,
467 const char *srcString,
468 bsl::size_t *numCodePointsWritten = 0,
469 char16_t errorChar =
'?',
473 std::u16string *dstString,
474 const char *srcString,
475 bsl::size_t *numCodePointsWritten = 0,
476 char16_t errorChar =
'?',
479# ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
481 std::pmr::u16string *dstString,
482 const char *srcString,
483 bsl::size_t *numCodePointsWritten = 0,
484 char16_t errorChar =
'?',
520 bsl::size_t *numCodePointsWritten = 0,
521 unsigned short errorWord =
'?',
525 std::vector<unsigned short> *dstVector,
527 bsl::size_t *numCodePointsWritten = 0,
528 unsigned short errorWord =
'?',
531#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
533 std::pmr::vector<unsigned short> *dstVector,
535 bsl::size_t *numCodePointsWritten = 0,
536 unsigned short errorWord =
'?',
541 const char *srcString,
542 bsl::size_t *numCodePointsWritten = 0,
543 unsigned short errorWord =
'?',
547 std::vector<unsigned short> *dstVector,
548 const char *srcString,
549 bsl::size_t *numCodePointsWritten = 0,
550 unsigned short errorWord =
'?',
553#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
555 std::pmr::vector<unsigned short> *dstVector,
556 const char *srcString,
557 bsl::size_t *numCodePointsWritten = 0,
558 unsigned short errorWord =
'?',
608 unsigned short *dstBuffer,
609 bsl::size_t dstCapacity,
611 bsl::size_t *numCodePointsWritten = 0,
612 bsl::size_t *numWordsWritten = 0,
613 unsigned short errorWord =
'?',
617 unsigned short *dstBuffer,
618 bsl::size_t dstCapacity,
619 const char *srcString,
620 bsl::size_t *numCodePointsWritten = 0,
621 bsl::size_t *numWordsWritten = 0,
622 unsigned short errorWord =
'?',
628 bsl::size_t dstCapacity,
630 bsl::size_t *numCodePointsWritten = 0,
631 bsl::size_t *numWordsWritten = 0,
632 wchar_t errorWord =
'?',
637 bsl::size_t dstCapacity,
638 const char *srcString,
639 bsl::size_t *numCodePointsWritten = 0,
640 bsl::size_t *numWordsWritten = 0,
641 wchar_t errorWord =
'?',
644#if defined(BSLS_COMPILERFEATURES_SUPPORT_UNICODE_CHAR_TYPES)
692 bsl::size_t dstCapacity,
694 bsl::size_t *numCodePointsWritten = 0,
695 bsl::size_t *numWordsWritten = 0,
696 char16_t errorChar =
'?',
701 bsl::size_t dstCapacity,
702 const char *srcString,
703 bsl::size_t *numCodePointsWritten = 0,
704 bsl::size_t *numWordsWritten = 0,
705 char16_t errorChar =
'?',
724 const unsigned short *srcBuffer,
725 const unsigned short *endPtr = 0,
729 const wchar_t *srcBuffer,
730 const wchar_t *endPtr = 0,
733#if defined(BSLS_COMPILERFEATURES_SUPPORT_UNICODE_CHAR_TYPES)
735 const char16_t *srcBuffer,
736 const char16_t *endPtr = 0,
766 const unsigned short *srcString,
767 bsl::size_t *numCodePointsWritten = 0,
768 char errorByte =
'?',
772 const unsigned short *srcString,
773 bsl::size_t *numCodePointsWritten = 0,
774 char errorByte =
'?',
777#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
779 std::pmr::string *dstString,
780 const unsigned short *srcString,
781 bsl::size_t *numCodePointsWritten = 0,
782 char errorByte =
'?',
787 const unsigned short *srcString,
788 bsl::size_t srcLengthInWords,
789 bsl::size_t *numCodePointsWritten = 0,
790 char errorByte =
'?',
793 std::string *dstString,
794 const unsigned short *srcString,
795 bsl::size_t srcLengthInWords,
796 bsl::size_t *numCodePointsWritten = 0,
797 char errorByte =
'?',
799#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
801 std::pmr::string *dstString,
802 const unsigned short *srcString,
803 bsl::size_t srcLengthInWords,
804 bsl::size_t *numCodePointsWritten = 0,
805 char errorByte =
'?',
811 bsl::size_t *numCodePointsWritten = 0,
812 char errorByte =
'?',
816 std::string *dstString,
818 bsl::size_t *numCodePointsWritten = 0,
819 char errorByte =
'?',
822#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
824 std::pmr::string *dstString,
826 bsl::size_t *numCodePointsWritten = 0,
827 char errorByte =
'?',
832 const wchar_t *srcString,
833 bsl::size_t *numCodePointsWritten = 0,
834 char errorByte =
'?',
838 const wchar_t *srcString,
839 bsl::size_t *numCodePointsWritten = 0,
840 char errorByte =
'?',
843#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
844 static int utf16ToUtf8(std::pmr::string *dstString,
845 const wchar_t *srcString,
846 bsl::size_t *numCodePointsWritten = 0,
847 char errorByte =
'?',
851#if defined(BSLS_COMPILERFEATURES_SUPPORT_UNICODE_CHAR_TYPES)
854 const bsl::u16string_view& srcString,
855 bsl::size_t *numCodePointsWritten = 0,
856 char errorByte =
'?',
860 std::string *dstString,
861 const bsl::u16string_view& srcString,
862 bsl::size_t *numCodePointsWritten = 0,
863 char errorByte =
'?',
866# ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
868 std::pmr::string *dstString,
869 const bsl::u16string_view& srcString,
870 bsl::size_t *numCodePointsWritten = 0,
871 char errorByte =
'?',
876 const char16_t *srcString,
877 bsl::size_t *numCodePointsWritten = 0,
878 char errorByte =
'?',
882 const char16_t *srcString,
883 bsl::size_t *numCodePointsWritten = 0,
884 char errorByte =
'?',
887# ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
888 static int utf16ToUtf8(std::pmr::string *dstString,
889 const char16_t *srcString,
890 bsl::size_t *numCodePointsWritten = 0,
891 char errorByte =
'?',
921 const unsigned short *srcString,
922 bsl::size_t *numCodePointsWritten = 0,
923 char errorByte =
'?',
927 const unsigned short *srcString,
928 bsl::size_t *numCodePointsWritten = 0,
929 char errorByte =
'?',
932#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
933 static int utf16ToUtf8(std::pmr::vector<char> *dstVector,
934 const unsigned short *srcString,
935 bsl::size_t *numCodePointsWritten = 0,
936 char errorByte =
'?',
941 const unsigned short *srcString,
942 bsl::size_t srcLengthInWords,
943 bsl::size_t *numCodePointsWritten = 0,
944 char errorByte =
'?',
948 const unsigned short *srcString,
949 bsl::size_t srcLengthInWords,
950 bsl::size_t *numCodePointsWritten = 0,
951 char errorByte =
'?',
954#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
955 static int utf16ToUtf8(std::pmr::vector<char> *dstVector,
956 const unsigned short *srcString,
957 bsl::size_t srcLengthInWords,
958 bsl::size_t *numCodePointsWritten = 0,
959 char errorByte =
'?',
967 bsl::size_t *numCodePointsWritten = 0,
968 char errorByte =
'?',
972 std::vector<char> *dstVector,
974 bsl::size_t *numCodePointsWritten = 0,
975 char errorByte =
'?',
978#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
980 std::pmr::vector<char> *dstVector,
982 bsl::size_t *numCodePointsWritten = 0,
983 char errorByte =
'?',
989 const wchar_t *srcString,
990 bsl::size_t *numCodePointsWritten = 0,
991 char errorByte =
'?',
995 std::vector<char> *dstVector,
996 const wchar_t *srcString,
997 bsl::size_t *numCodePointsWritten = 0,
998 char errorByte =
'?',
1001#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
1003 std::pmr::vector<char> *dstVector,
1004 const wchar_t *srcString,
1005 bsl::size_t *numCodePointsWritten = 0,
1006 char errorByte =
'?',
1011#if defined(BSLS_COMPILERFEATURES_SUPPORT_UNICODE_CHAR_TYPES)
1038 const bsl::u16string_view& srcString,
1039 bsl::size_t *numCodePointsWritten = 0,
1040 char errorByte =
'?',
1044 std::vector<char> *dstVector,
1045 const bsl::u16string_view& srcString,
1046 bsl::size_t *numCodePointsWritten = 0,
1047 char errorByte =
'?',
1050# ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
1052 std::pmr::vector<char> *dstVector,
1053 const bsl::u16string_view& srcString,
1054 bsl::size_t *numCodePointsWritten = 0,
1055 char errorByte =
'?',
1061 const char16_t *srcString,
1062 bsl::size_t *numCodePointsWritten = 0,
1063 char errorByte =
'?',
1067 std::vector<char> *dstVector,
1068 const char16_t *srcString,
1069 bsl::size_t *numCodePointsWritten = 0,
1070 char errorByte =
'?',
1073# ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
1075 std::pmr::vector<char> *dstVector,
1076 const char16_t *srcString,
1077 bsl::size_t *numCodePointsWritten = 0,
1078 char errorByte =
'?',
1131 bsl::size_t dstCapacity,
1132 const unsigned short *srcString,
1133 bsl::size_t *numCodePointsWritten = 0,
1134 bsl::size_t *numBytesWritten = 0,
1135 char errorByte =
'?',
1139 bsl::size_t dstCapacity,
1140 const unsigned short *srcString,
1141 bsl::size_t srcLengthInWords,
1142 bsl::size_t *numCodePointsWritten = 0,
1143 bsl::size_t *numBytesWritten = 0,
1144 char errorByte =
'?',
1149 bsl::size_t dstCapacity,
1151 bsl::size_t *numCodePointsWritten = 0,
1152 bsl::size_t *numBytesWritten = 0,
1153 char errorByte =
'?',
1158 bsl::size_t dstCapacity,
1159 const wchar_t *srcString,
1160 bsl::size_t *numCodePointsWritten = 0,
1161 bsl::size_t *numBytesWritten = 0,
1162 char errorByte =
'?',
1165#if defined(BSLS_COMPILERFEATURES_SUPPORT_UNICODE_CHAR_TYPES)
1168 bsl::size_t dstCapacity,
1169 const bsl::u16string_view& srcString,
1170 bsl::size_t *numCodePointsWritten = 0,
1171 bsl::size_t *numBytesWritten = 0,
1172 char errorByte =
'?',
1177 bsl::size_t dstCapacity,
1178 const char16_t *srcString,
1179 bsl::size_t *numCodePointsWritten = 0,
1180 bsl::size_t *numBytesWritten = 0,
1181 char errorByte =
'?',