8#include "../circuit_builders/circuit_builders_fwd.hpp"
9#include "../field/field.hpp"
16template <IsUltraOrMegaBuilder Builder>
class ram_table {
48 bool all_initialized =
true;
50 all_initialized = all_initialized && idx_init;
ram_table & operator=(const ram_table &other)
std::vector< bool > index_initialized
ram_table & operator=(ram_table &&other)
field_pt read(const field_pt &index) const
Read a field element from the RAM table at an index value.
std::vector< field_pt > raw_entries
Builder * get_context() const
ram_table(const ram_table &other)
std::vector< OriginTag > _tags
bool check_indices_initialized() const
field_t< Builder > field_pt
void write(const field_pt &index, const field_pt &value)
Write a field element from the RAM table at an index value.
void initialize_table() const
internal method, is used to call Builder methods that will generate RAM table.
bool ram_table_generated_in_builder
bool all_entries_written_to_with_constant_index
ram_table(ram_table &&other)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
This file contains part of the logic for the Origin Tag mechanism that tracks the use of in-circuit p...