This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub ttamx/cp-library
#include "group/monoid-action/monoid-action-base.hpp"
#pragma once /** * Author: Teetat T. * Date: 2024-05-16 * Description: Monoid Action Base class. */ template<class MInfo,class MTag,typename MInfo::value_type (*apply)(typename MInfo::value_type,typename MTag::value_type)> struct MonoidActionBase{ using InfoMonoid = MInfo; using TagMonoid = MTag; using Info = typename InfoMonoid::value_type; using Tag = typename TagMonoid::value_type; static constexpr Info op(const Info &a,const Tag &b){ return combine(a,b); } };
#line 2 "group/monoid-action/monoid-action-base.hpp" /** * Author: Teetat T. * Date: 2024-05-16 * Description: Monoid Action Base class. */ template<class MInfo,class MTag,typename MInfo::value_type (*apply)(typename MInfo::value_type,typename MTag::value_type)> struct MonoidActionBase{ using InfoMonoid = MInfo; using TagMonoid = MTag; using Info = typename InfoMonoid::value_type; using Tag = typename TagMonoid::value_type; static constexpr Info op(const Info &a,const Tag &b){ return combine(a,b); } };