You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Requiring C++20
* Start replacing enable_if with requires
* Replace rest of enable_if with requires, except for AdjacencyList (see comment in file)
* Replace void_t-based SFINAE by requires and concepts
* minor
* Conceptify rest of phasar
* Fix clang dep scanning in CI and Dockerfile
* Replace PSR_CONCEPT by concept
* minor cleanup
* Remove mentions of c++17
* adapt my mail-address in readme
---------
Co-authored-by: Fabian Schiebel <fabian.schiebel@iem.fraunhofer.de>
Co-authored-by: Fabian Schiebel <fabianbs@mail.upb.de>
Co-authored-by: Fabian Schiebel <52407375+fabianbs96@users.noreply.github.com>
Copy file name to clipboardExpand all lines: BreakingChanges.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,8 @@
2
2
3
3
## development HEAD
4
4
5
+
- Requiring C++20 instead of C++17
6
+
- Type-traits and other templates that are specialized now use `requires` instead of `enable_if`, wherever possible. This may reduce the number of (defaulted) template parameters in some cases.
5
7
- The `AdjacencyList` struct now now has one more template argument to denote the intege-like `vertex_t` type. It is the second template argument (which previously was the EdgeType). The edge-type is now denoted by the *third* template argument.
6
8
- The `AdjacencyList` switches from using `llvm::NoneType` as empty-node marker to `psr::EmptyType` for forward-compatibility with LLVM-16 that removes `llvm::NoneType`.
Please also have a look on PhASAR's project directory and notice the project directory [examples](./examples/) as well as the custom tool `tools/example-tool/myphasartool.cpp`.
26
26
27
-
**NEW:**You can find PhASAR's API reference [here](https://secure-software-engineering.github.io/phasar/).
27
+
You can find PhASAR's API reference [here](https://secure-software-engineering.github.io/phasar/).
28
28
29
29
30
30
## Secure Software Engineering Group
@@ -34,20 +34,17 @@ PhASAR is primarily developed and maintained by the Secure Software Engineering
34
34
PhASAR was initially developed by Philipp Dominik Schubert (@pdschubert)(<philipp.schubert@upb.de>).
However, building in C++20 mode is supported. You may enable this setting the cmake variable `CMAKE_CXX_STANDARD` to `20`.
48
-
Although phasar currently does not make use of C++-20 features (except for some `concept`s behind an #ifdef border), your client application that just *uses* phasar as a library may want to use C++20 earlier.
49
-
50
-
**NEW**: PhASAR supports C++20 modules as an experimental feature.
47
+
PhASAR supports C++20 modules as an experimental feature.
0 commit comments