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
* Require C++20 in podio and ROOT
* Use consteval when possible and remove checks for C++20
* Use concepts and simplify templates
* Change enable_ifs by requires
* Fix the documentation for links
* Remove an unused header and use std::disjunction
* Use algorithms from std::ranges
* Use concepts when possible and add comments when it's not possible
* Remove dead code
* Use std::ranges::find
* Remove the ubuntu workflow since it is built with C++17
* Update docs for the frame
* Add missing is_detected_v
* Upper-case the concept collectionType
* Add a minimum ROOT version with support for C++20
* Add back an ubuntu workflow with C++20
* Update the ROOT version
* Update README.md
Co-authored-by: Thomas Madlener <[email protected]>
* Change the format to C++20
* Make sure to also format links.md
* Remove no longer applicable enable_if from doc
* [format] clang-format auto fixes
---------
Co-authored-by: jmcarcell <[email protected]>
Co-authored-by: Thomas Madlener <[email protected]>
if((ENABLE_RNTUPLE) AND (${ROOT_VERSION}VERSION_LESS 6.28.02))
93
-
message(FATAL_ERROR "You are trying to build podio with support for the new ROOT NTuple format, but your ROOT version is too old. Please update ROOT to at least version 6.28.02")
# ROOT_CXX_STANDARD was introduced in https://github.com/root-project/root/pull/6466
97
94
# before that it's an empty variable so we check if it's any number > 0
@@ -112,18 +109,13 @@ else()
112
109
message(STATUS"Determined ROOT c++ standard: "${ROOT_CXX_STANDARD})
113
110
endif()
114
111
115
-
if(ROOT_CXX_STANDARD VERSION_LESS17)
116
-
message(FATAL_ERROR "You are trying to build podio against a version of ROOT that has not been built with a sufficient c++ standard. podio requires c++17 or higher")
112
+
if(ROOT_CXX_STANDARD VERSION_LESS20)
113
+
message(FATAL_ERROR "You are trying to build podio against a version of ROOT that has not been built with a sufficient c++ standard. podio requires c++20 or higher")
message(WARNING "You are trying to build podio with a different c++ standard than ROOT. C++${CMAKE_CXX_STANDARD} was required but ROOT was built with C++${ROOT_CXX_STANDARD}")
120
117
endif()
121
118
122
-
# ROOT only sets usage requirements from 6.14, so for
123
-
# earlier versions need to hack in INTERFACE_INCLUDE_DIRECTORIES
Copy file name to clipboardExpand all lines: doc/frame.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,8 +35,8 @@ Some compilers and static code analysis tools are able to detect the accidental
35
35
36
36
For putting in parameters the basic principle is very similar, with the major difference being, that for *trivial* types `getParameter` will actually return by value.
37
37
38
-
For all use cases there is some `enable_if` machinery in place to ensure that only valid collections and valid parameter types can actually be used.
39
-
These checks also make sure that it is impossible to put in collections without handing over ownership to the `Frame`.
38
+
For all use cases there is a concept requirement to ensure that only valid collections and valid parameter types can actually be used.
39
+
Additional checks also make sure that it is impossible to put in collections without handing over ownership to the `Frame`.
40
40
41
41
### Usage examples for collection data
42
42
These are a few very basic usage examples that highlight the main functionality (and potential pitfalls).
0 commit comments