Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
memory_interface.hpp
Go to the documentation of this file.
1 
12 #ifndef MEMORY_INTERFACE_HPP_
13 #define MEMORY_INTERFACE_HPP_
14 
15 #include <cstddef>
16 #include <map>
17 #include <vector>
18 
19 namespace libsnark
20 {
21 
25 typedef std::map<size_t, size_t> memory_contents;
26 
38 {
39 public:
40  size_t num_addresses;
41  size_t value_size;
42 
43  memory_interface(const size_t num_addresses, const size_t value_size)
45  {
46  }
48  const size_t num_addresses,
49  const size_t value_size,
50  const std::vector<size_t> &contents_as_vector);
52  const size_t num_addresses,
53  const size_t value_size,
54  const memory_contents &contents);
55 
56  virtual size_t get_value(const size_t address) const = 0;
57  virtual void set_value(const size_t address, const size_t value) = 0;
58 };
59 
60 } // namespace libsnark
61 
62 #endif // MEMORY_INTERFACE_HPP_
libsnark::memory_interface::memory_interface
memory_interface(const size_t num_addresses, const size_t value_size)
Definition: memory_interface.hpp:43
libsnark
Definition: accumulation_vector.hpp:18
libsnark::memory_interface::value_size
size_t value_size
Definition: memory_interface.hpp:41
libsnark::memory_contents
std::map< size_t, size_t > memory_contents
Definition: memory_interface.hpp:25
libsnark::memory_interface::num_addresses
size_t num_addresses
Definition: memory_interface.hpp:40
libsnark::memory_interface::set_value
virtual void set_value(const size_t address, const size_t value)=0
libsnark::memory_interface
Definition: memory_interface.hpp:37
libsnark::memory_interface::get_value
virtual size_t get_value(const size_t address) const =0