Alessandro Di Federico
2fd7f06843
ZipMapIterator: handle llvm::StringMap
2024-09-27 12:07:16 +02:00
Ivan Krysak
a123ec2c35
Remove clang-format off around concepts
...
Now that clang-format no longer breaks anything involving a concept or
a requires clause on sight, these are no longer necessary
2023-07-02 13:20:49 +02:00
Alessandro Di Federico
dbcdad0a4d
Switch from llvm::Optional to std::optional
2023-04-08 08:42:24 +02:00
Alessandro Di Federico
5ed9432a68
Fix ambiguous template function
...
Bumping LLVM version turned these into compiler errors.
2023-04-08 08:42:23 +02:00
Ivan Krysak
65d1a016d4
Standardize concept naming across the codebase
2022-08-05 17:27:56 +03:00
Alessandro Di Federico
5e38805063
Rename detail namespaces into revng::detail
2022-03-11 15:37:12 +01:00
Alessandro Di Federico
0f084ed620
Minor changes
2022-02-07 16:55:46 +01:00
Antonio Frighetto
b80be110ae
ZipMapIterator: add support for llvm::DenseMap
2021-12-15 18:03:30 +01:00
Alessandro Di Federico
6d10581163
Whitespace and other minor changes
2021-07-15 13:30:25 +02:00
Pietro Fezzardi
50681284c0
Conceptify revng
...
Use concepts across revng wherever possible, to keep the code concise
and easier to understand.
2021-05-05 17:10:12 +02:00
Alessandro Di Federico
28cb935d39
ZipMapIterator: handle dishomogeneous containers
...
ZipMapIterator can now handle containers of different type, as long as
their keys are comparable.
2021-01-27 19:46:52 +01:00
Pietro Fezzardi
9869f057b9
Use #pragma once for header include guards
2020-11-13 14:12:18 +01:00
Pietro Fezzardi
cd9bc34d9d
Enforce new include conventions
2020-11-13 10:00:24 +01:00
Alessandro Di Federico
0e9d453be3
ZipMapIterator changes
...
* Introduce `KeyContainer::compare` and drop the `getKey` method.
* Let users of ZipMapIterator specify a trait class instead of using the
default one.
2019-05-22 18:42:32 +02:00
Alessandro Di Federico
0fa2d79fe4
Introduce ZipMapIterator
...
`ZipMapIterator` allows you to iterate in parallel over two
`std::map`-like containers.
In the ABI analysis, this allows us to be much more efficient. In
practice, if we have two maps with M and N elements, we pass from
performing N*log(N) + M*log(M) queries to the size of the union of the
set of keys of the two maps.
2019-03-06 10:31:23 +01:00