brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 0154d0b Raw
34 lines · plain
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8///9/// \file10/// This file contains the definition of the InputGenerator class, which defines11/// the abstract interface for classes that generate math test inputs.12///13//===----------------------------------------------------------------------===//14 15#ifndef MATHTEST_INPUTGENERATOR_HPP16#define MATHTEST_INPUTGENERATOR_HPP17 18#include "llvm/ADT/ArrayRef.h"19 20namespace mathtest {21 22template <typename... InTypes> class InputGenerator {23public:24  virtual ~InputGenerator() noexcept = default;25 26  virtual void reset() noexcept = 0;27 28  [[nodiscard]] virtual size_t29  fill(llvm::MutableArrayRef<InTypes>... Buffers) noexcept = 0;30};31} // namespace mathtest32 33#endif // MATHTEST_INPUTGENERATOR_HPP34