microsoft/onnxruntime-extensions

Public

mirrored fromhttps://github.com/microsoft/onnxruntime-extensionsAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
01d3905801f25bb0a159c4de6a5ae5120ca5c6a0

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

base/ustring.cc

69lines · modepreview

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#include "ustring.h"
#include <iostream>


ustring::ustring() : std::u32string() {
}

ustring::ustring(char* str) {
  utf8_converter str_cvt;
  assign(str_cvt.from_bytes(str));
}

ustring::ustring(const char* str) {
  utf8_converter str_cvt;
  assign(str_cvt.from_bytes(str));
}

ustring::ustring(std::string& str) {
  utf8_converter str_cvt;
  assign(str_cvt.from_bytes(str));
}

ustring::ustring(const std::string& str) {
  utf8_converter str_cvt;
  assign(str_cvt.from_bytes(str));
}

ustring::ustring(char32_t* str) : std::u32string(str) {}

ustring::ustring(const char32_t* str) : std::u32string(str) {}

ustring::ustring(std::u32string& str) : std::u32string(str) {}

ustring::ustring(std::u32string&& str) : std::u32string(str) {}

ustring::ustring(const std::u32string& str) : std::u32string(str) {}

ustring::ustring(const std::u32string&& str) : std::u32string(str) {}

ustring::ustring(std::string_view& str) {
  utf8_converter str_cvt;
  assign(str_cvt.from_bytes(str.data(), str.data() + str.size()));
}

ustring::ustring(const std::string_view& str) {
  utf8_converter str_cvt;
  assign(str_cvt.from_bytes(str.data(), str.data() + str.size()));
}

ustring::ustring(std::u32string_view& str):std::u32string(str) {}

ustring::ustring(std::u32string_view&& str):std::u32string(str) {}

ustring::ustring(const std::u32string_view& str):std::u32string(str) {}

ustring::ustring(const std::u32string_view&& str):std::u32string(str) {}

ustring::operator std::string() {
  utf8_converter str_cvt;
  return str_cvt.to_bytes(*this);
}

ustring::operator std::string() const {
  utf8_converter str_cvt;
  return str_cvt.to_bytes(*this);
}