Correct, it does not allocate. The use of the generic placement new, however, means there's no way to use a custom allocator's implementation of construct() or destroy() in a serde.
jon On Fri, Jan 17, 2020 at 10:41 AM Alexander Saydakov <[email protected]> wrote: > Serde does not allocate. Where do you see allocation? Placement new is a > way to call a constructor without allocation. > > On Thu, Jan 16, 2020 at 8:52 PM Kenneth Knowles <[email protected]> wrote: > >> As mentor, I have a couple thoughts: >> >> - You are probably right that including dev@ is helpful for building >> community >> - Datasketches dev@ list is tiny and you should definitely send to it >> without hesitation IMO >> - If it is too detailed for the dev list, that is probably harmless >> anyhow - I have seen this level of discussion, for sure. >> - Try browsing other Apache projects dev lists to see how they do it; >> example: >> https://lists.apache.org/[email protected]:lte=1y:-%5Bjira%5D >> >> I have no helpful thoughts on your C++ question :-) >> >> Kenn >> >> On Thu, Jan 16, 2020 at 8:36 PM Jon Malkin <[email protected]> wrote: >> >>> I'm working on a C++ sketch and trying to make sure I'm handling memory >>> properly. In the debugging process, I noticed that serde.hpp uses placement >>> new in deserialize(), without allowing for a custom allocator (which it >>> seems needs to implement construct(), not just allocate().) >>> >>> This is a very specific question related to the C++ implementation; I'd >>> usually not think of sending it out to the entire dev@ list, favoring a >>> discussion more localized to the specific repo. But maybe, at least while >>> trying to build a community and promote activity on the list, it's worth >>> trying to have such conversations on the list? >>> >>> jon >>> >>
