Making sure vcpkg delivers packages built with your toolchain is not hard, but much of the advice on the internet is flat wrong. You need to specify your toolchain both in your project and in the the vcpkg triplet. There's an airgap between your project and the dependency in vcpkg install. The CMake settings can't just flow through.
Why are optional::transform and optional::and_then not constrained by invocable?
I've migrated from WordPress to a static blog generator–Nikola. This is how it works.
C++0x Concepts had a feature Concept Maps that allowed a set of functions, types, and template definitions to be associated with a concept and the map to be specialized for types that meet the concept.
This allowed open extension of a concept.
Steve Downey
These are the slides, slightly rerendered, from my presentation at C++Now 2023.
How can P2300 Senders be composed using sender adapters and sender factories to provide arbitrary program control flow?
constexpr bool g(int lhs, int rhs) { auto& op = partial_eq<int>; return op.ne(lhs, rhs); }
Abstract: Making emacs org-mode more usable for writing WG21 papers.
l#+BLOG: sdowney
An outline of a template that provides an automated workflow driving a CMake project in a docker container.
This post must be read in concert with https://github.com/steve-downey/scratch of which it is part.
Building a project that uses cmake runs through a predictable lifecycle that you should be able to pick up where you left off without remembering, and for which you should be able to state your goal, not the step you are on. make is designed for this, and can drive the processs.
Some thoughts on the std::execution proposal and my understanding of the underlying theory.
From the paper's Introduction
This paper proposes a self-contained design for a Standard C++ framework for managing asynchronous execution on generic execution contexts. It is based on the ideas in [P0443R14] and its companion papers.
Which doesn't tell you much.
It proposes a framework where the principle abstractions are Senders, Receivers, and Schedulers.
This is feedback after considering A Plan for C++23 Ranges Disclosure: I voted in favor of this. It does not suggest work on views::maybe [P1255R6]. I'm fine with that priority.