Defining Interfaces in C++ with ‘Concepts’ (C++20) -- Daniel Lemire
In an earlier blog post, I showed that the Go programming language allows you to write generic functions once you have defined an interface.
Defining Interfaces in C++ with ‘Concepts’ (C++20)
by Daniel Lemire
From the article:
Java has a very similar concept under the same name (interface). I gave the following example:
type IntIterable interface { HasNext() bool Next() uint32 Reset() } func Count(i IntIterable) (count int) { count = 0 i.Reset() for i.HasNext() { i.Next() count++ } return }

This conference is organized by the C++ Community for the C++ Community. We want the whole community to be represented. We especially encourage those who identify as coming from an underrepresented community to apply to present and to be present. Presenting a talk is not limited to previous presenters or previous attendees.
The submission deadline is June 25th, with decisions sent by July 31st.
Registration is now open for CppCon 2023! The conference starts on October 1 and will be held 

A classic, over a decade old and worth making the rounds again: