This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub ruthen71/rcpl
#include "algebra/monoid_template.hpp"
#pragma once template <class T> struct MonoidS { using S = ; // todo static constexpr S op(S a, S b) { // todo } static constexpr S e() { // todo } }; template <class T> struct MonoidF { using F = ; // todo static constexpr F composition(F f, F g) { // todo } static constexpr F id() { // todo } }; template <class T> struct MonoidSF { using MS = MonoidS<T>; using MF = MonoidF<T>; using S = typename MS::S; using F = typename MF::F; static constexpr S mapping(F f, S x) { // todo } };
#line 2 "algebra/monoid_template.hpp" template <class T> struct MonoidS { using S = ; // todo static constexpr S op(S a, S b) { // todo } static constexpr S e() { // todo } }; template <class T> struct MonoidF { using F = ; // todo static constexpr F composition(F f, F g) { // todo } static constexpr F id() { // todo } }; template <class T> struct MonoidSF { using MS = MonoidS<T>; using MF = MonoidF<T>; using S = typename MS::S; using F = typename MF::F; static constexpr S mapping(F f, S x) { // todo } };