summaryrefslogtreecommitdiffstats
path: root/Source/cmExecuteProcessCommand.cxx
diff options
context:
space:
mode:
authorAlex Turbov <i.zaufi@gmail.com>2024-08-14 16:15:34 (GMT)
committerAlex Turbov <i.zaufi@gmail.com>2024-08-26 15:01:48 (GMT)
commit0c17cc9ef572c6d5b2de019e29f12cfeaec65aa7 (patch)
tree00bebd0062f297cc31d9cbfeda97d26141e3c402 /Source/cmExecuteProcessCommand.cxx
parentcd4210eb6d721a1b75e739e81250d1ac5a35b99f (diff)
downloadCMake-0c17cc9ef572c6d5b2de019e29f12cfeaec65aa7.zip
CMake-0c17cc9ef572c6d5b2de019e29f12cfeaec65aa7.tar.gz
CMake-0c17cc9ef572c6d5b2de019e29f12cfeaec65aa7.tar.bz2
cmJSONHelpers.h: Add `FilteredObject` helper
Iterate over the object's members and call a filter callable to decide what to do with the current key/value. A filter returns one of the `FilterResult` values. A container type is an associative or a sequence container of pairs (key, value). Refactor `MapFilter()` and `Map()` to use `FilteredObject()`. Moreover, for C++ >= 17 implementation is more optimized depending on the given filter object type and capable of detecting and properly calling the filter callable using 1 or 3 arguments, up to totally eliminate any checking (even dummy) in the generated code. Supported container types, used to append key/value items, aren't limited to `std::map` only and can be any associative container or a sequenced one with pairs of key/value as elements.
Diffstat (limited to 'Source/cmExecuteProcessCommand.cxx')
0 files changed, 0 insertions, 0 deletions