C++17 On Windows 10 With The C++ Builder
As you know from C++ Builder 10.3, we have support for the modern C++17 On Windows 10 version. Here you can see the C++ 17 support chart.
In this CodeRage session, Dion Mai shows demo applications in action. You can find out how you can use the new C++17 On Windows 10 functions and an updated C++17 standard library.
What you can find in this session?
- Template Induction
- Nested Namespace
- Structure Binding
- Statement Initializer
- std::any
- std::optional
- Enum List Init
- and many more.
Moreover, you can find out how you can call WinRT functionalities. You can find all the wrappers from the RAD Studio installation folder. Source->RTL->Win->WinRT
C++ Builder provides three levels of development:
1. Components (VCL and FMX)
2. Common Libraries (RTL).
3. Platform APIs (iOS, Android, Mac OS)
In this post we will discuss the Common Libraries (RTL).
C++ Builder has several hundred functions, macros, and classes that you call from within your C and C++ programs to perform a wide variety of tasks, including low- and high-level I/O, string and file manipulation, memory allocation, process control, data conversion, mathematical calculations, and more.
The C++ Builder Run-Time Library (or RTL) is composed of a number of base header files that provide the underlying support for most of the VCL and FireMonkey component libraries . The RTL includes global routines, utility classes such as those that represent streams and lists, and classes such as TObject, TPersistent, and TComponent.
Although closely allied with FireMonkey and VCL, the RTL does not include any of the components that appear on the Tool Palette.
Instead, the classes and routines in the RTL are used by the components that do appear on the Tool Palette, and are available for you to use in application code in either VCL projects or FireMonkey projects, or when you are writing your own classes.
For example, the System header contains most of the Run-Time Library (RTL).
And from the System header, you have the System.Math.hpp header that defines classes, routines, types, variables, and constants related to mathematical operations, vectors and matrices.
Or the System.Bluetooth.hpp header that provides classes to use the Bluetooth capabilities of the device that is running your application to connect to applications running on remote devices.
Or the System.Sensors.hpp header that provides classes and components that let you obtain information and manage system sensors. The Sensors are pieces of hardware or software that can provide measures of physical quantities to your applications.
Or the System.Threading.hpp header that defines classes and types that implement the parallel programming library.