-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The Guidelines should specify the GSL #144
Comments
Hi there, after having seen Stroustrup's talk, I want to try the GSL. A tutorial-based intro to the GSL (common usage examples and use-cases) would be great. A side-question: I've seen the quickly hacked up FAQ (1, 2), but it's rather vague. PS: I've just seen this. I hope to see videos of Neil MacIntosh's talks soon! |
Thanks! They should show up on the CppCon channel in the next few weeks. I'm not exactly sure when. I think it's a very reasonable expectation to have some tutorial documentation for the GSL in addition to the specification. |
GSL really lacks some basic documentation. There isn't even class listing with their purpose and available constructors... |
Indeed, although clearly a work in progress, a little more help (specification) would be very welcome. For GSL Lite, I created this not-entirely-up-to-date feature table and this test specification |
We have not forgotten. We are still working on a standards-style specification. |
Looks good On 8/9/2016 2:46 PM, Neil MacIntosh wrote:
|
You've probably all been busy with getting c++17 out of the door, but I was wondering, if there is any concrete plan to write said specification / documentation / tutorial by now? Or has everyone settled for the current status quo ("The code from microsoft's gsl implementation is the specification)? By concrete I mean something with a rough time plan, an idea of the format and a person in charge of the process. |
We are working on this in context of Standardization. We'd prefer to not presuppose the standardization process. Once this is standardized, there's no reason to have a specification in the Guidelines. Also, we did prepare an intro the GSL that's located in the docs directory of this repo: https://github.com/isocpp/CppCoreGuidelines/blob/master/docs/gsl-intro.md. Thank you for the suggestion! |
I'm not sure I understand that reasoning. Afaik not all parts of the gsl are currently even proposed for standardization and afaik there is currently not even a list of types that are supposed to be in a gsl implementation (which is something completely orthogonal to the standardization process). So that means, until a component gets standardized, other gsl implementations can only follow whatever happens in Microsoft's gsl and once it becomes standardized, the value of the type being in the gsl at all drops rapidly. |
@MikeGitb I think this document does actually list the core parts of the GSL - I don't believe that other GSL implementations need to follow the Microsoft implementation as their only option. Implementers of a GSL could alternatively implement what is described here, and ask questions and join the discussion if they would like to clarify expectations of those types. I'm not sure why the value of having a type (e.g. If not everything in the GSL has been proposed for standardization yet, that merely reflects the fact that standardization takes time (and effort), so some prioritization is naturally applied. If we end up with some types that attempted standardization but did not make it, then we'll document them here in more detail. |
Editors call: We are reopening this because it's needed. We do want to rely on the standard for specification (which we can now do with |
Currently Microsoft is providing one implementation that is, to the best of our knowledge, completely portable, ISO-standard C++. It is under MIT license. We plan to improve the documentation and eventually provide a proper specification as part of the guidelines.
The text was updated successfully, but these errors were encountered: