v3 flag enabled
Correctness C++11
1.67.0

Boost.Contract

Contract programming for C++. All contract programming features are supported: Subcontracting, class invariants, postconditions (with old and return values), preconditions, customizable actions on assertion failure (e.g., terminate or throw), optional compilation and checking of assertions, etc.

About Boost.Contract

Contract programming for C++. All contract programming features are supported: Subcontracting, class invariants, postconditions (with old and return values), preconditions, customizable actions on assertion failure (e.g., terminate or throw), optional compilation and checking of assertions, etc.

int main()
{
    net::io_context ioc;
    tcp::resolver resolver(ioc);
    beast::tcp_stream stream(ioc);

    stream.connect(resolver.resolve("example.com", "80"));

    http::request<http::empty_body> req{http::verb::get, "/", 11};
    req.set(http::field::host, "example.com");

    http::write(stream, req);

    beast::flat_buffer buffer;
    http::response<http::string_body> res;
    http::read(stream, buffer, res);

    std::cout << res << std::endl;
}

Install

Get started with header-only libraries

brew install openssl
export OPENSSL_ROOT=$(brew --prefix openssl)
# install bjam tool user specific configuration file to read OPENSSL_ROOT
# see https://www.bfgroup.xyz/b2/manual/release/index.html
cp ./libs/beast/tools/user-config.jam $HOME

Contributors: This Release


Contributors: This Release


Latest Boost.Contract posts

Join the Boost Developers Mailing List

Get the latest on releases, features, security patches, fixes and all major announcements.
Get the latest on releases, features, security patches, fixes and all major announcements.

All Contributors