#include <string>
#include <memory>

class UTF16String {
public:
  UTF16String (const char16_t *data) {
    len = std::char_traits<char16_t>::length(data);
    str_data.reset(new char16_t[len]);
    memcpy(str_data.get(),data,sizeof(char16_t)*(len+1));
  }
  
private:
  std::unique_ptr<char16_t[]> str_data;
  size_t len;
};

int main() {
  UTF16String string {u"Just some data in UTF16 here"};
  return 0;
}

