I think support for wchar_t adds unnecessary complexity and should be removed.

Sarge

> On 26 Oct, 2017, at 13:05, Jacob Barrett <jbarr...@pivotal.io> wrote:
> 
> I think we should get rid of it. There are plenty of discussions out there 
> around C++ strings and how they relate to Unicode. Wide string does not mean 
> Unicode. The general consensus I have seen is to just use char and require 
> UTF-8 encoding. We have lots of confusion in our code around whether a string 
> is Unicode or ASCII. I say remove the confusion and all strings are Unicode 
> in UTF-8 encoded 8 bit chars. Also convert all char* to std::string for which 
> we already have a ticket.
> 
> -Jake
> 
> 
>> On Oct 26, 2017, at 12:15 PM, David Kimura <dkim...@pivotal.io> wrote:
>> 
>> While working on removing out parameters, we noticed code that makes
>> assumption that wchar_t is always 16 bits.
>> 
>> virtual void PdxInstance::getField(const char* fieldName, wchar_t& value)
>> const = 0;
>> 
>> void PdxInstanceImpl::getField(const char* fieldname, wchar_t& value) const
>> {
>>   auto dataInput = getDataInputForField(fieldname);
>>   uint16_t temp = dataInput->readInt16();
>>   value = static_cast<wchar_t>(temp);
>> }
>> 
>> 
>> 
>> According to cppreference[1], this assumption is incorrect.  If that is the
>> case, should this implementation be fixed or can it be deleted altogether?
>> 
>> Thanks,
>> David
>> 
>> [1] http://en.cppreference.com/w/cpp/language/types

Reply via email to