aboutsummaryrefslogtreecommitdiff
path: root/src/2022/day5/aoc.cpp
blob: 78eff9109966c356acf4ea7eb17254abdd74c986 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "aoc.h"
#include <algorithm>
#include <vector>

namespace aoc2022 {
crate* crate::cs[9];
void day5(line_view file, char* msg, int mode) {
  crate::init();
  per_line(file, [mode](line_view lv){
    char c = *lv.line;
    if (c == '[') {
      const char* p = lv.line;
      for(int i = 0; i < 9; i++) {
        crate* c = crate::make(line_view{p, 4});
        crate::add(c, i);
        p += 4;
      }
    }
    if (c == 'm') {
      crate::move(lv, mode); 
    }
    return true;
  });
  crate::message(msg);
}


} // namespace aoc2022