git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [C++] Policy for "internal" and "detail" namespaces


We don't have a policy on this per se, but note that we exclude
"detail" and "internal" namespaces from the Doxygen API docs:

https://github.com/apache/arrow/blob/master/cpp/apidoc/Doxyfile#L891

As long as the symbols don't cause ABI issues and they don't show up
in the public API using one of these conventions is fine, but we
should try to apply a consistent convention

- Wes

On Tue, May 1, 2018 at 6:24 AM, Uwe L. Korn <uwelk@xxxxxxxxxx> wrote:
> Hello Antoine,
>
> I don't think we have a policy for that yet thus it's all up to personal preference. My personal preference is normally to call this namespace `arrow::internal::impl`. Alternatively one could also make it namespaced in the class `arrow::internal::ThreadPool::Impl` but that is probably only a good naming scheme for PIMPLs.
>
> Uwe
>
> On Tue, May 1, 2018, at 12:13 PM, Antoine Pitrou wrote:
>>
>> Hello,
>>
>> What's our policy for namespaces in C++?
>>
>> For example, in GitHub PR 1953, I define an API in the "arrow::internal"
>> namespace as it's meant for internal use by Arrow, and then I have a
>> helper class in the "arrow::internal::detail" namespace as it's really
>> an implementation detail of the aforementioned internal API (it's used
>> for template instantiation, so it can't go in the .cpp file, sadly).
>> Does that sound like the right way to go?
>>
>> Regards
>>
>> Antoine.



( ! ) Warning: include(msgfooter.php): failed to open stream: No such file or directory in /var/www/git/apache-arrow-development/msg04344.html on line 103
Call Stack
#TimeMemoryFunctionLocation
10.0006364600{main}( ).../msg04344.html:0

( ! ) Warning: include(): Failed opening 'msgfooter.php' for inclusion (include_path='.:/var/www/git') in /var/www/git/apache-arrow-development/msg04344.html on line 103
Call Stack
#TimeMemoryFunctionLocation
10.0006364600{main}( ).../msg04344.html:0