This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub kmyk/competitive-programming-library
#include "monoids/left.hpp"
#pragma once #include <utility> template <class T> struct left_monoid { // typedef std::optional<T> value_type; typedef std::pair<bool, T> value_type; value_type unit() const { return std::make_pair(false, T()); } value_type mult(value_type a, value_type b) const { return a.first ? a : b; } };
#line 2 "monoids/left.hpp" #include <utility> template <class T> struct left_monoid { // typedef std::optional<T> value_type; typedef std::pair<bool, T> value_type; value_type unit() const { return std::make_pair(false, T()); } value_type mult(value_type a, value_type b) const { return a.first ? a : b; } };