You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi! I am following the development of the library closely and I noticed the following commit : 52a9eda discussing a possible layout for a modularized HPX library. The layout follows a rather common structure among open source C++ projects, which is great! Recently, there has been some effort to formally write-up a conventional layout for C++ project. In particular, vector_of_bool's Pitchfork Layout (PFL) and Boris Kolpackov's canonical project layout.
PFL suggests a structure very similar to what is already proposed. However, PFL also mentions an alternative layout called the Merged Header Placement where headers, sources and unit tests are placed within the same directory. The merged header placement appears to accommodate future C++ modules better. There are a number of other advantages discussed by both proposals. There are very similar, I've pointed minor differences in this issue.
I just wanted to bring this to your attention! Cheers!
The text was updated successfully, but these errors were encountered:
Thanks for the comments. The commit you mentioned is part of #3582. I think the actual layout/naming/structure of the different modules/components/sublibraries is something that can be easily changed once we disentangled our code.
I am not a big fan of the Merged Header Placement. I actually do prefer to have a tidy, hierarchical set of directories. Why do you think is it more beneficial for C++ modules? I'm not sure I follow there completely. Isn't it just a matter of where your module maps point to in the end?
I was a bit vague in that section. I meant to say that with modules, the incentive to split the interface and implementation in separate files (i.e. hpp and cpp) is not there. Most people will prefer to put everything in a single file (the module). Hence, the include / src split is, likely, not a good fit for modules and everything will be just under a single directory. I think that was mentioned in Boris's canonical project layout.
Hi! I am following the development of the library closely and I noticed the following commit : 52a9eda discussing a possible layout for a modularized HPX library. The layout follows a rather common structure among open source C++ projects, which is great! Recently, there has been some effort to formally write-up a conventional layout for C++ project. In particular, vector_of_bool's Pitchfork Layout (PFL) and Boris Kolpackov's canonical project layout.
PFL suggests a structure very similar to what is already proposed. However, PFL also mentions an alternative layout called the Merged Header Placement where headers, sources and unit tests are placed within the same directory. The merged header placement appears to accommodate future C++ modules better. There are a number of other advantages discussed by both proposals. There are very similar, I've pointed minor differences in this issue.
I just wanted to bring this to your attention! Cheers!
The text was updated successfully, but these errors were encountered: