Concepts allow the C++ programmer to document constraints on templates and have the compiler enforce them Credit: SPainter VFX / Getty Images C++ 20 Concepts, which can help developers write more concise C++ code, are now supported in a beta release of the upcoming Visual Studio 2019 IDE. Supported in Visual Studio 2019 Preview 2, C++ Concepts are predicates used to express a generic algorithm’s expectations on its template arguments. Concepts allow developers to document constraints on templates that are enforced by the compiler. Compile times can be improved by Concept-based overloading. Support for C++ Concepts is built into both the compiler and the standard library. The feature is being debuted through a /std:c++latest mode. Once all C++ 20 features are implemented across all Visual Studio products, including the compiler, the library, IntelliSense, the builder, and the debugger, Microsoft will provide them through a /std:c++20 mode. IntelliSense support is not currently available and Microsoft’s implementation does not yet include recent changes made in ISO C++ standards. Specifically, the compiler supports capabilities such as: C++ extensions for Concepts. Semantic constraint matching for concepts. Microsoft is working on support for C++ ranges, providing components for dealing with ranges of element and tightly linked to Concepts. Microsoft is seeking feedback on Concepts, which can be left on a company blog post or via the Report a Problem tool in Visual Studio. You can download the Visual Studio 2019 preview from the Visual Studio website. Development ToolsTechnology IndustrySoftware Development