Add solution for 2016 Day 23
This commit is contained in:
1 parent
bec8be80a3
commit
edc2fd0b6c
3 files changed
+193
-8
No files matched your search
@@ -11,6 +11,7 @@
|
||||
#include <map>
|
||||
#include <numeric>
|
||||
#include <set>
|
||||
#include <variant>
|
||||
#include <vector>
|
||||
|
||||
#include "Array2D.h"
|
||||
@@ -33,6 +34,9 @@ static std::ostream& operator<<(std::ostream& stream, const std::map<T, S>& cont
|
||||
template <typename T, typename S>
|
||||
static std::ostream& operator<<(std::ostream& stream, const std::pair<T, S>& pair);
|
||||
|
||||
template <typename Arg1, typename Arg2, typename... Args>
|
||||
static std::ostream& operator<<(std::ostream& stream, const std::variant<Arg1, Arg2, Args...>& variant);
|
||||
|
||||
struct Helper
|
||||
{
|
||||
struct ScopedTraceErrorDisabler
|
||||
@@ -639,3 +643,10 @@ static std::ostream& operator<<(std::ostream& stream, const std::pair<T, S>& pai
|
||||
{
|
||||
return stream << "(" << pair.first << ", " << pair.second << ")";
|
||||
}
|
||||
|
||||
template <typename Arg1, typename Arg2, typename... Args>
|
||||
static std::ostream& operator<<(std::ostream& stream, const std::variant<Arg1, Arg2, Args...>& variant)
|
||||
{
|
||||
std::visit([&stream](const auto& value) { stream << value; }, variant);
|
||||
return stream;
|
||||
}
|
||||
Reference in new issue
Block a user