20template <
typename ComponentType>
22 ComponentType component,
25 component.set_public()
28 ComponentType::reconstruct_from_public(public_inputs)
31 ComponentType::PUBLIC_INPUTS_SIZE
40template <
typename ComponentType>
52 static Key set(
const ComponentType& component)
55 key.start_idx = component.set_public();
64 throw_or_abort(
"ERROR: Trying to construct a PublicInputComponent from an invalid key!");
69 throw_or_abort(
"PublicInputComponent::reconstruct: public_inputs vector too small");
72 return ComponentType::reconstruct_from_public(limbs);
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
void throw_or_abort(std::string const &err)