data_descriptor.cpp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // Copyright (c) 2019 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. #include "source/fuzz/data_descriptor.h"
  15. #include <algorithm>
  16. namespace spvtools {
  17. namespace fuzz {
  18. protobufs::DataDescriptor MakeDataDescriptor(uint32_t object,
  19. std::vector<uint32_t>&& indices) {
  20. protobufs::DataDescriptor result;
  21. result.set_object(object);
  22. for (auto index : indices) {
  23. result.add_index(index);
  24. }
  25. return result;
  26. }
  27. bool DataDescriptorEquals::operator()(
  28. const protobufs::DataDescriptor* first,
  29. const protobufs::DataDescriptor* second) const {
  30. return first->object() == second->object() &&
  31. first->index().size() == second->index().size() &&
  32. std::equal(first->index().begin(), first->index().end(),
  33. second->index().begin());
  34. }
  35. } // namespace fuzz
  36. } // namespace spvtools