[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:

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.