50 : signature_(&signature), min_array_size_(min_array_size)
59 __func__, CPPType::get<T>(), min_array_size_, value),
71 virtual_arrays_.
append(&ref);
83 virtual_vector_arrays_.
append(&ref);
95 mutable_spans_.
append(ref);
103 vector_arrays_.
append(&vector_array);
110 mutable_spans_.
append(ref);
118 vector_arrays_.
append(&vector_array);
126 int data_index = signature_->data_index(param_index);
127 return mutable_spans_[data_index];
135 int data_index = signature_->data_index(param_index);
136 return *vector_arrays_[data_index];
149 int param_index = this->current_param_index();
151 if (expected_name !=
"") {
152 StringRef actual_name = signature_->param_names[param_index];
156 MFParamType expected_type = signature_->param_types[param_index];
161 int current_param_index()
const
163 return virtual_arrays_.
size() + mutable_spans_.
size() + virtual_vector_arrays_.
size() +
164 vector_arrays_.
size();
185 int data_index = builder_->signature_->
data_index(param_index);
186 return *builder_->virtual_arrays_[data_index];
197 int data_index = builder_->signature_->
data_index(param_index);
198 return builder_->mutable_spans_[data_index];
210 int data_index = builder_->signature_->
data_index(param_index);
211 return *builder_->virtual_vector_arrays_[data_index];
222 int data_index = builder_->signature_->
data_index(param_index);
223 return *builder_->vector_arrays_[data_index];
233 int data_index = builder_->signature_->
data_index(param_index);
234 return builder_->mutable_spans_[data_index];
245 int data_index = builder_->signature_->
data_index(param_index);
246 return *builder_->vector_arrays_[data_index];
255 if (name.
size() > 0) {
266 if (name.size() > 0) {
#define UNUSED_VARS_NDEBUG(...)
T & construct(const char *name, Args &&... args)
constexpr int64_t size() const
void append(const T &value)
const CPPType & type() const
const CPPType & type() const
const CPPType & type() const
const CPPType & type() const
static MFParamType ForVectorInput(const CPPType &base_type)
static MFParamType ForSingleOutput(const CPPType &type)
static MFParamType ForMutableSingle(const CPPType &type)
static MFParamType ForVectorOutput(const CPPType &base_type)
static MFParamType ForMutableVector(const CPPType &base_type)
static MFParamType ForSingleInput(const CPPType &type)
void add_uninitialized_single_output(GMutableSpan ref, StringRef expected_name="")
void add_readonly_single_input(const GVArray &ref, StringRef expected_name="")
MFParamsBuilder(const MFSignature &signature, int64_t min_array_size)
void add_readonly_single_input(const GSpan span, StringRef expected_name="")
void add_readonly_vector_input(const GVVectorArray &ref, StringRef expected_name="")
void add_uninitialized_single_output(T *value, StringRef expected_name="")
void add_vector_mutable(GVectorArray &vector_array, StringRef expected_name="")
GVectorArray & computed_vector_array(int param_index)
ResourceScope & resource_scope()
void add_vector_output(GVectorArray &vector_array, StringRef expected_name="")
void add_readonly_vector_input(const GVectorArray &vector_array, StringRef expected_name="")
void add_single_mutable(GMutableSpan ref, StringRef expected_name="")
GMutableSpan computed_array(int param_index)
void add_readonly_single_input(const T *value, StringRef expected_name="")
MutableSpan< T > uninitialized_single_output(int param_index, StringRef name="")
GVectorArray_TypedMutableRef< T > vector_output(int param_index, StringRef name="")
const GVVectorArray & readonly_vector_input(int param_index, StringRef name="")
const VVectorArray< T > & readonly_vector_input(int param_index, StringRef name="")
MutableSpan< T > single_mutable(int param_index, StringRef name="")
GVectorArray & vector_mutable(int param_index, StringRef name="")
const VArray< T > & readonly_single_input(int param_index, StringRef name="")
MFParams(MFParamsBuilder &builder)
const GVArray & readonly_single_input(int param_index, StringRef name="")
GMutableSpan single_mutable(int param_index, StringRef name="")
GMutableSpan uninitialized_single_output(int param_index, StringRef name="")
GVectorArray_TypedMutableRef< T > vector_mutable(int param_index, StringRef name="")
GVectorArray & vector_output(int param_index, StringRef name="")
Vector< MFParamType > param_types
Vector< std::string > param_names
int data_index(int param_index) const