369 const char *endPtr = 0);
387 bsl::size_t *numCodePointsWritten = 0,
388 wchar_t errorWord =
'?',
400 std::wstring *dstString,
402 bsl::size_t *numCodePointsWritten = 0,
403 wchar_t errorWord =
'?',
406#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
408 std::pmr::wstring *dstString,
410 bsl::size_t *numCodePointsWritten = 0,
411 wchar_t errorWord =
'?',
416 const char *srcString,
417 bsl::size_t *numCodePointsWritten = 0,
418 wchar_t errorWord =
'?',
422 std::wstring *dstString,
423 const char *srcString,
424 bsl::size_t *numCodePointsWritten = 0,
425 wchar_t errorWord =
'?',
428#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
429 static int utf8ToUtf16(std::pmr::wstring *dstString,
430 const char *srcString,
431 bsl::size_t *numCodePointsWritten = 0,
432 wchar_t errorWord =
'?',
435#if defined(BSLS_COMPILERFEATURES_SUPPORT_UNICODE_CHAR_TYPES)
437 bsl::u16string *dstString,
439 bsl::size_t *numCodePointsWritten = 0,
440 char16_t errorChar =
'?',
444 std::u16string *dstString,
446 bsl::size_t *numCodePointsWritten = 0,
447 char16_t errorChar =
'?',
450# ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
452 std::pmr::u16string *dstString,
454 bsl::size_t *numCodePointsWritten = 0,
455 char16_t errorChar =
'?',
460 bsl::u16string *dstString,
461 const char *srcString,
462 bsl::size_t *numCodePointsWritten = 0,
463 char16_t errorChar =
'?',
467 std::u16string *dstString,
468 const char *srcString,
469 bsl::size_t *numCodePointsWritten = 0,
470 char16_t errorChar =
'?',
473# ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
475 std::pmr::u16string *dstString,
476 const char *srcString,
477 bsl::size_t *numCodePointsWritten = 0,
478 char16_t errorChar =
'?',
487 bsl::size_t *numCodePointsWritten = 0,
488 unsigned short errorWord =
'?',
517 std::vector<unsigned short> *dstVector,
519 bsl::size_t *numCodePointsWritten = 0,
520 unsigned short errorWord =
'?',
523#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
525 std::pmr::vector<unsigned short> *dstVector,
527 bsl::size_t *numCodePointsWritten = 0,
528 unsigned short errorWord =
'?',
533 const char *srcString,
534 bsl::size_t *numCodePointsWritten = 0,
535 unsigned short errorWord =
'?',
539 std::vector<unsigned short> *dstVector,
540 const char *srcString,
541 bsl::size_t *numCodePointsWritten = 0,
542 unsigned short errorWord =
'?',
545#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
547 std::pmr::vector<unsigned short> *dstVector,
548 const char *srcString,
549 bsl::size_t *numCodePointsWritten = 0,
550 unsigned short errorWord =
'?',
555 unsigned short *dstBuffer,
556 bsl::size_t dstCapacity,
558 bsl::size_t *numCodePointsWritten = 0,
559 bsl::size_t *numWordsWritten = 0,
560 unsigned short errorWord =
'?',
564 unsigned short *dstBuffer,
565 bsl::size_t dstCapacity,
566 const char *srcString,
567 bsl::size_t *numCodePointsWritten = 0,
568 bsl::size_t *numWordsWritten = 0,
569 unsigned short errorWord =
'?',
575 bsl::size_t dstCapacity,
577 bsl::size_t *numCodePointsWritten = 0,
578 bsl::size_t *numWordsWritten = 0,
579 wchar_t errorWord =
'?',
627 bsl::size_t dstCapacity,
628 const char *srcString,
629 bsl::size_t *numCodePointsWritten = 0,
630 bsl::size_t *numWordsWritten = 0,
631 wchar_t errorWord =
'?',
634#if defined(BSLS_COMPILERFEATURES_SUPPORT_UNICODE_CHAR_TYPES)
637 bsl::size_t dstCapacity,
639 bsl::size_t *numCodePointsWritten = 0,
640 bsl::size_t *numWordsWritten = 0,
641 char16_t errorChar =
'?',
689 bsl::size_t dstCapacity,
690 const char *srcString,
691 bsl::size_t *numCodePointsWritten = 0,
692 bsl::size_t *numWordsWritten = 0,
693 char16_t errorChar =
'?',
711 const unsigned short *srcBuffer,
712 const unsigned short *endPtr = 0,
716 const wchar_t *srcBuffer,
717 const wchar_t *endPtr = 0,
720#if defined(BSLS_COMPILERFEATURES_SUPPORT_UNICODE_CHAR_TYPES)
722 const char16_t *srcBuffer,
723 const char16_t *endPtr = 0,
730 const unsigned short *srcString,
731 bsl::size_t *numCodePointsWritten = 0,
732 char errorByte =
'?',
757 const unsigned short *srcString,
758 bsl::size_t *numCodePointsWritten = 0,
759 char errorByte =
'?',
762#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
764 std::pmr::string *dstString,
765 const unsigned short *srcString,
766 bsl::size_t *numCodePointsWritten = 0,
767 char errorByte =
'?',
772 const unsigned short *srcString,
773 bsl::size_t srcLengthInWords,
774 bsl::size_t *numCodePointsWritten = 0,
775 char errorByte =
'?',
778 std::string *dstString,
779 const unsigned short *srcString,
780 bsl::size_t srcLengthInWords,
781 bsl::size_t *numCodePointsWritten = 0,
782 char errorByte =
'?',
784#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
786 std::pmr::string *dstString,
787 const unsigned short *srcString,
788 bsl::size_t srcLengthInWords,
789 bsl::size_t *numCodePointsWritten = 0,
790 char errorByte =
'?',
796 bsl::size_t *numCodePointsWritten = 0,
797 char errorByte =
'?',
801 std::string *dstString,
803 bsl::size_t *numCodePointsWritten = 0,
804 char errorByte =
'?',
807#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
809 std::pmr::string *dstString,
811 bsl::size_t *numCodePointsWritten = 0,
812 char errorByte =
'?',
817 const wchar_t *srcString,
818 bsl::size_t *numCodePointsWritten = 0,
819 char errorByte =
'?',
823 const wchar_t *srcString,
824 bsl::size_t *numCodePointsWritten = 0,
825 char errorByte =
'?',
828#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
829 static int utf16ToUtf8(std::pmr::string *dstString,
830 const wchar_t *srcString,
831 bsl::size_t *numCodePointsWritten = 0,
832 char errorByte =
'?',
836#if defined(BSLS_COMPILERFEATURES_SUPPORT_UNICODE_CHAR_TYPES)
839 const bsl::u16string_view& srcString,
840 bsl::size_t *numCodePointsWritten = 0,
841 char errorByte =
'?',
845 std::string *dstString,
846 const bsl::u16string_view& srcString,
847 bsl::size_t *numCodePointsWritten = 0,
848 char errorByte =
'?',
851# ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
853 std::pmr::string *dstString,
854 const bsl::u16string_view& srcString,
855 bsl::size_t *numCodePointsWritten = 0,
856 char errorByte =
'?',
861 const char16_t *srcString,
862 bsl::size_t *numCodePointsWritten = 0,
863 char errorByte =
'?',
867 const char16_t *srcString,
868 bsl::size_t *numCodePointsWritten = 0,
869 char errorByte =
'?',
872# ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR_STRING
873 static int utf16ToUtf8(std::pmr::string *dstString,
874 const char16_t *srcString,
875 bsl::size_t *numCodePointsWritten = 0,
876 char errorByte =
'?',
883 const unsigned short *srcString,
884 bsl::size_t *numCodePointsWritten = 0,
885 char errorByte =
'?',
911 const unsigned short *srcString,
912 bsl::size_t *numCodePointsWritten = 0,
913 char errorByte =
'?',
916#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
917 static int utf16ToUtf8(std::pmr::vector<char> *dstVector,
918 const unsigned short *srcString,
919 bsl::size_t *numCodePointsWritten = 0,
920 char errorByte =
'?',
925 const unsigned short *srcString,
926 bsl::size_t srcLengthInWords,
927 bsl::size_t *numCodePointsWritten = 0,
928 char errorByte =
'?',
932 const unsigned short *srcString,
933 bsl::size_t srcLengthInWords,
934 bsl::size_t *numCodePointsWritten = 0,
935 char errorByte =
'?',
938#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
939 static int utf16ToUtf8(std::pmr::vector<char> *dstVector,
940 const unsigned short *srcString,
941 bsl::size_t srcLengthInWords,
942 bsl::size_t *numCodePointsWritten = 0,
943 char errorByte =
'?',
951 bsl::size_t *numCodePointsWritten = 0,
952 char errorByte =
'?',
956 std::vector<char> *dstVector,
958 bsl::size_t *numCodePointsWritten = 0,
959 char errorByte =
'?',
962#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
964 std::pmr::vector<char> *dstVector,
966 bsl::size_t *numCodePointsWritten = 0,
967 char errorByte =
'?',
973 const wchar_t *srcString,
974 bsl::size_t *numCodePointsWritten = 0,
975 char errorByte =
'?',
979 std::vector<char> *dstVector,
980 const wchar_t *srcString,
981 bsl::size_t *numCodePointsWritten = 0,
982 char errorByte =
'?',
985#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
987 std::pmr::vector<char> *dstVector,
988 const wchar_t *srcString,
989 bsl::size_t *numCodePointsWritten = 0,
990 char errorByte =
'?',
995#if defined(BSLS_COMPILERFEATURES_SUPPORT_UNICODE_CHAR_TYPES)
998 const bsl::u16string_view& srcString,
999 bsl::size_t *numCodePointsWritten = 0,
1000 char errorByte =
'?',
1026 std::vector<char> *dstVector,
1027 const bsl::u16string_view& srcString,
1028 bsl::size_t *numCodePointsWritten = 0,
1029 char errorByte =
'?',
1032# ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
1034 std::pmr::vector<char> *dstVector,
1035 const bsl::u16string_view& srcString,
1036 bsl::size_t *numCodePointsWritten = 0,
1037 char errorByte =
'?',
1043 const char16_t *srcString,
1044 bsl::size_t *numCodePointsWritten = 0,
1045 char errorByte =
'?',
1049 std::vector<char> *dstVector,
1050 const char16_t *srcString,
1051 bsl::size_t *numCodePointsWritten = 0,
1052 char errorByte =
'?',
1055# ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
1057 std::pmr::vector<char> *dstVector,
1058 const char16_t *srcString,
1059 bsl::size_t *numCodePointsWritten = 0,
1060 char errorByte =
'?',
1067 bsl::size_t dstCapacity,
1068 const unsigned short *srcString,
1069 bsl::size_t *numCodePointsWritten = 0,
1070 bsl::size_t *numBytesWritten = 0,
1071 char errorByte =
'?',
1075 bsl::size_t dstCapacity,
1076 const unsigned short *srcString,
1077 bsl::size_t srcLengthInWords,
1078 bsl::size_t *numCodePointsWritten = 0,
1079 bsl::size_t *numBytesWritten = 0,
1080 char errorByte =
'?',
1085 bsl::size_t dstCapacity,
1087 bsl::size_t *numCodePointsWritten = 0,
1088 bsl::size_t *numBytesWritten = 0,
1089 char errorByte =
'?',
1138 bsl::size_t dstCapacity,
1139 const wchar_t *srcString,
1140 bsl::size_t *numCodePointsWritten = 0,
1141 bsl::size_t *numBytesWritten = 0,
1142 char errorByte =
'?',
1145#if defined(BSLS_COMPILERFEATURES_SUPPORT_UNICODE_CHAR_TYPES)
1148 bsl::size_t dstCapacity,
1149 const bsl::u16string_view& srcString,
1150 bsl::size_t *numCodePointsWritten = 0,
1151 bsl::size_t *numBytesWritten = 0,
1152 char errorByte =
'?',
1157 bsl::size_t dstCapacity,
1158 const char16_t *srcString,
1159 bsl::size_t *numCodePointsWritten = 0,
1160 bsl::size_t *numBytesWritten = 0,
1161 char errorByte =
'?',