diff options
author | Etienne Pierre-Doray <etiennep@chromium.org> | 2018-07-25 20:16:02 +0000 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2021-07-25 20:33:17 -0700 |
commit | a88cad0485f1c73d63ba0a1bcfccc8a68bd300c6 (patch) | |
tree | a1e2e0302064526dd50280e84651979b656f0ad2 /test_utils.h | |
parent | ae27d8ed0116c53fb530b141e96df91e90c3671c (diff) | |
download | zucchini-a88cad0485f1c73d63ba0a1bcfccc8a68bd300c6.tar.gz |
[Zucchini] Create elf types and utils.
Creates types and utility class to manipulate ELF header format and relocation
references.
BufferView: :modify() was also added.
Change-Id: Iacec212a2fb2f8a6c85d551eed4b8e0a84926d89
Reviewed-on: https://chromium-review.googlesource.com/1136846
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Reviewed-by: Samuel Huang <huangs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578034}
NOKEYCHECK=True
GitOrigin-RevId: 320f7d9d2cff9702e632af296867bf6ce7b14f8b
Diffstat (limited to 'test_utils.h')
-rw-r--r-- | test_utils.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test_utils.h b/test_utils.h index 7ed735d..e922343 100644 --- a/test_utils.h +++ b/test_utils.h @@ -15,6 +15,21 @@ namespace zucchini { // Parses space-separated list of byte hex values into list. std::vector<uint8_t> ParseHexString(const std::string& hex_string); +// Returns a vector that's the contatenation of two vectors of the same type. +// Elements are copied by value. +template <class T> +std::vector<T> Cat(const std::vector<T>& a, const std::vector<T>& b) { + std::vector<T> ret(a); + ret.insert(ret.end(), b.begin(), b.end()); + return ret; +} + +// Returns a subvector of a vector. Elements are copied by value. +template <class T> +std::vector<T> Sub(const std::vector<T>& a, size_t lo, size_t hi) { + return std::vector<T>(a.begin() + lo, a.begin() + hi); +} + } // namespace zucchini #endif // COMPONENTS_ZUCCHINI_TEST_UTILS_H_ |