Finally remove the second intcode implementation.

This commit is contained in:
2019-12-14 19:38:06 +01:00
parent 61f499e8e9
commit 5ce69e4dff
6 changed files with 37 additions and 114 deletions

View File

@@ -23,9 +23,7 @@ namespace aoc2019 {
std::string_view strtok(std::string_view &str, char token = ',');
std::vector<int> read_intcode(std::istream &input);
std::vector<int> run_intcode(std::vector<int> &program, std::deque<int> inputs = {});
std::deque<int64_t> run_intcode(std::vector<std::int64_t> program, std::deque<std::int64_t> inputs = {});
template<class Node>
std::vector<Node> topological_sort(const std::unordered_map<Node, std::vector<Node>> &edge_list) {
@@ -75,6 +73,7 @@ namespace aoc2019 {
typedef std::int64_t value_t;
explicit IntCodeComputer(std::vector<value_t> program, std::deque<value_t> initial_inputs = {});
explicit IntCodeComputer(std::istream &program_stream, std::deque<value_t> initial_inputs = {});
void run();
void connectOutput(IntCodeComputer &computer);
@@ -85,6 +84,9 @@ namespace aoc2019 {
[[nodiscard]] const std::deque<value_t> &currentInputs() const;
value_t &operator[](std::size_t index);
const value_t &operator[](std::size_t index) const;
static std::vector<value_t> read_intcode(std::istream &input);
private: