SChakravorti21 commented on issue #34535: URL: https://github.com/apache/arrow/issues/34535#issuecomment-1965495787
> Now it becomes impossible to have a non-inline function [1] in the ChunkResolver because the entire class is a template. That's why these abstractions are separate. Care was taken to allow ChunkResolver to work for any type by making it deal with chunks in terms of lengths and offsets. I see, appreciate you taking the time to explain! I'll have to read up on this because it conflicts with my general understanding of the `inline` keyword. To clarify my current understanding - based on [cppreference](https://en.cppreference.com/w/cpp/language/inline) and other info like in [this SO answer](https://stackoverflow.com/a/1759575), my understanding is that the `inline` keyword purely controls the linkage of the symbol, and whether the function should actually be _inlined_ is done at the compiler's discretion (regardless of whether the function is marked `inline`). Based on this, my understanding was that methods in a class template could still be inlined if the compiler deemed it appropriate. Nevertheless, I'll take your word for it that this is not possible as I assume you have more experience on this matter; I'd love to read any materials you might have that delve further into this! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
