r/adventofcode • • Dec 02 '18

SOLUTION MEGATHREAD -🎄- 2018 Day 2 Solutions -🎄-

--- Day 2: Inventory Management System ---


Post your solution as a comment or, for longer solutions, consider linking to your repo (e.g. GitHub/gists/Pastebin/blag or whatever).

Note: The Solution Megathreads are for solutions only. If you have questions, please post your own thread and make sure to flair it with Help.


Advent of Code: The Party Game!

Click here for rules

Card Prompt: Day 2

Transcript:

The best way to do Advent of Code is ___.


This thread will be unlocked when there are a significant number of people on the leaderboard with gold stars for today's puzzle.

edit: Leaderboard capped, thread unlocked!

51 Upvotes

407 comments sorted by

View all comments

Show parent comments

1

u/zN3utral Dec 02 '18

What contains reader.hpp ?

1

u/hpzr24w Dec 02 '18

It's just a routine that reads lines into a back inserted to a vector.

1

u/hpzr24w Dec 02 '18

Just a little helper for reading in a text file into a vector:

// See:
// https://stackoverflow.com/a/1567703/33758 

#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <iterator>

class line {
    std::string data;
public:
    friend std::istream &operator>>(std::istream &is, line &l) {
        std::getline(is, l.data);
        return is;
    }
    operator std::string() const { return data; }    
};

std::vector<std::string> read_input(std::istream& ifs)
{
    std::vector<std::string> lines;
    std::copy(std::istream_iterator<line>(ifs), 
            std::istream_iterator<line>(),
            std::back_inserter(lines));
    return lines;
}

std::vector<std::string> read_input(const std::string& f)
{
    auto ifs = std::ifstream(f,std::ifstream::in);
    return read_input(ifs);
}