Feature #1664

Updated by Zbigniew Rebacz about 5 years ago

Buffer should also offer alternative method (Get) to ~operator that returns raw pointer.

The size could also be remembered and we should introduce Count() and IsEmpty() approach.
Something like:
<pre>
dword length = ::GetShortPathName(static_cast<LPCTSTR>(path), nullptr, 0);
if(length == 0)
return path;
Buffer<char> shortPathBuffer(length);
</pre>

Could be easily refactor to:
<pre>
Buffer<char> GetBufferForShortPath(const String& path)
{
dword length = ::GetShortPathName(static_cast<LPCTSTR>(path), nullptr, 0);
return Buffer<char> shortPathBuffer(length);
}

// The in the code:
Buffer<char> shortPathBuffer = GetBufferForShortPath(path);
if (shortPathBuffer.IsEmpty())
return path;
else
// Do something with the buffer...
</pre>

Back