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

A minimal std::expected<T, E> #12

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

deanberris
Copy link
Member

@deanberris deanberris commented Jan 25, 2019

This change includes a minimal implementation of the std::expected<T, E>
proposal in P0323R3 (http://wg21.link/P0323R3) which is hosted in the
cppnetlib namespace.

In the process we also document some of our guidelines on the structure
of the repository, on naming files, directory structure, and dependency
requirements.

Still TODO:

  • Update documentation on using vcpkg on dependencies.
  • Work our way up to a minimal interface for a connecton type, using our
    std::expected utility type.

This is related to the work in #5 for implementing a minimal
connection type suitable as a building block for higher level protocol
implementations.

This change includes a minimal implementation of the std::expected<T, E>
proposal in P0323R3 (http://wg21.link/P0323R3) which is hosted in the
`cppnetlib` repository.

In the process we also document some of our guidelines on the structure
of the repository, on naming files, directory structure, and dependency
requirements.

Still TODO:

* Fill out the test suite.
* Update documentation on using vcpkg on dependencies.
* Work our way up to a minimal interface for a connecton type, using our
  std::expected utility type.

This is related to the work in netlib/cpp-netlib#5 for implementing a minimal
connection type suitable as a building block for higher level protocol
implementations.
@deanberris deanberris requested a review from glynos January 25, 2019 13:06
@glynos glynos self-assigned this Feb 3, 2019
@deanberris deanberris changed the title Work In Progress: A minimal std::expected<T, E> A minimal std::expected<T, E> Feb 15, 2019
@deanberris
Copy link
Member Author

Hi @glynos -- this is now ready for a look. Some thoughts:

  • Is there a way to make the CI learn to use vcpkg?
  • Aside from the inline documentation (using Doxygen-style comments), I'd appreciate a look through at the spec and the implementation.
  • I can start making progress on the connection type on top of this, and incrementally start adding functions when it turns out we need some of them. I skilled the emplace and in-place construction support, but those are trivial to add.

@AngleNet
Copy link

AngleNet commented Jun 6, 2019

Suggests to separate test code into another directory lead to more clean layout.

Base automatically changed from master to main February 10, 2021 10:07
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

Successfully merging this pull request may close these issues.

3 participants