Skip to content
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

zstring family require empty template parameter list for use #992

Closed
asdasdasdasdasdf opened this issue Aug 9, 2021 · 5 comments
Closed

Comments

@asdasdasdasdasdf
Copy link

Based on the cpp core guidelines I expect to be able to write code like this
int length(zstring p);
but with this gsl implementation the code must look like this (at least on my compiler)
int length(zstring<> p);

I infer from the unit tests that this problem is not specific to me or my compiler. See for example:

czstring<> str = name.assume_z();

Not sure if this is a problem with the core guidelines or the gsl implementation but based on #770 it seems like the type alias shouldn't be templated.

zstring<> is only marginally worse than zstring but the time wasted figuring out why the example code wouldn't compile in practice is my primary concern.

@JordanMaples
Copy link
Contributor

I've reached out the C++ Core Guidelines editors for comment on whether or not we should redefine zstring to remove the empty angle brackets.

@hsutter
Copy link
Contributor

hsutter commented Sep 30, 2021

Echoing this question from the Guidelines issue: Do we have data about whether the extra parameter is used in the field?

@SloppyJaconda
Copy link
Contributor

I ran a quick search on Github for zstring and czstring to see how users are using *zstring and found that the majority of uses just have empty angle brackets. I came across a couple uses where the user does specify an extent, here is one such case:
https://github.com/luncliff/coroutine/search?q=zstring. Most of the other hits that I found were clones or copies of this coroutine library.

@SloppyJaconda
Copy link
Contributor

whoops, didn't mean to close.

@dmitrykobets-msft
Copy link
Member

This issue has now been resolved in PR #998

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants