You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by Jacob Barrett <jb...@pivotal.io> on 2017/12/27 17:17:49 UTC

[DISCUSS] C++ Header only internal library code

As we move more and more to C++11 the use of templates and header only
implementations balloons. For many of these templates to be useful some
internal utilities must be provided to them but should not be "exposed" as
public API themselves. Many large scale projects have similar issues as
more and more is implemented in the headers. Boost for example uses the
::detail namespace to designate internal only types and methods. I would
like to propose that we do something similar. To be consistent with our
Java brothers I would suggest apache::geode::client::internal namespace and
headers located in the include/geode/internal directory.

Thoughts?

-Jake

Re: [DISCUSS] C++ Header only internal library code

Posted by Udo Kohlmeyer <ud...@apache.org>.
+1 for consistency


On 1/8/18 07:35, Ernest Burghardt wrote:
> +1 "To be consistent with our
> Java brothers I would suggest apache::geode::client::internal namespace and
> headers located in the include/geode/internal directory."
>
> On Wed, Dec 27, 2017 at 4:28 PM, Mark Hanson <mh...@pivotal.io> wrote:
>
>> Sounds good to me. +1
>>
>> Thanks,
>> Mark
>>> On Dec 27, 2017, at 9:17 AM, Jacob Barrett <jb...@pivotal.io> wrote:
>>>
>>> As we move more and more to C++11 the use of templates and header only
>>> implementations balloons. For many of these templates to be useful some
>>> internal utilities must be provided to them but should not be "exposed"
>> as
>>> public API themselves. Many large scale projects have similar issues as
>>> more and more is implemented in the headers. Boost for example uses the
>>> ::detail namespace to designate internal only types and methods. I would
>>> like to propose that we do something similar. To be consistent with our
>>> Java brothers I would suggest apache::geode::client::internal namespace
>> and
>>> headers located in the include/geode/internal directory.
>>>
>>> Thoughts?
>>>
>>> -Jake
>>


Re: [DISCUSS] C++ Header only internal library code

Posted by Ernest Burghardt <eb...@pivotal.io>.
+1 "To be consistent with our
Java brothers I would suggest apache::geode::client::internal namespace and
headers located in the include/geode/internal directory."

On Wed, Dec 27, 2017 at 4:28 PM, Mark Hanson <mh...@pivotal.io> wrote:

> Sounds good to me. +1
>
> Thanks,
> Mark
> > On Dec 27, 2017, at 9:17 AM, Jacob Barrett <jb...@pivotal.io> wrote:
> >
> > As we move more and more to C++11 the use of templates and header only
> > implementations balloons. For many of these templates to be useful some
> > internal utilities must be provided to them but should not be "exposed"
> as
> > public API themselves. Many large scale projects have similar issues as
> > more and more is implemented in the headers. Boost for example uses the
> > ::detail namespace to designate internal only types and methods. I would
> > like to propose that we do something similar. To be consistent with our
> > Java brothers I would suggest apache::geode::client::internal namespace
> and
> > headers located in the include/geode/internal directory.
> >
> > Thoughts?
> >
> > -Jake
>
>

Re: [DISCUSS] C++ Header only internal library code

Posted by Mark Hanson <mh...@pivotal.io>.
Sounds good to me. +1

Thanks,
Mark
> On Dec 27, 2017, at 9:17 AM, Jacob Barrett <jb...@pivotal.io> wrote:
> 
> As we move more and more to C++11 the use of templates and header only
> implementations balloons. For many of these templates to be useful some
> internal utilities must be provided to them but should not be "exposed" as
> public API themselves. Many large scale projects have similar issues as
> more and more is implemented in the headers. Boost for example uses the
> ::detail namespace to designate internal only types and methods. I would
> like to propose that we do something similar. To be consistent with our
> Java brothers I would suggest apache::geode::client::internal namespace and
> headers located in the include/geode/internal directory.
> 
> Thoughts?
> 
> -Jake