maomao90's Library
A C++20 library for competitive programming.
Loading...
Searching...
No Matches
standard_monoids.hpp File Reference
#include <concepts>
#include <limits>
#include <tuple>
#include <utility>

Go to the source code of this file.

Classes

struct  maomao90::internal::monoid::limits< true, T >
 
struct  maomao90::internal::monoid::limits< false, T >
 
struct  maomao90::internal::monoid::limits< MIN_FLAG, __int128 >
 
struct  maomao90::internal::monoid::limits< MAX_FLAG, __int128 >
 
struct  maomao90::internal::monoid::limits< is_min, pair< A, B > >
 
struct  maomao90::internal::monoid::limits< is_min, tuple< Head, Tail... > >
 
struct  maomao90::internal::monoid::limits< is_min, tuple<> >
 
struct  maomao90::MinMonoid< T >
 
struct  maomao90::MaxMonoid< T >
 
struct  maomao90::SumMonoid< T >
 
struct  maomao90::ValueMonoid< T >
 Only stores a value, and does not have a binary operation. More...
 
struct  maomao90::NoLazy< T >
 Lazy that does not apply any updates. More...
 

Namespaces

namespace  maomao90
 
namespace  maomao90::internal
 
namespace  maomao90::internal::monoid
 

Concepts

concept  maomao90::Monoid
 
concept  maomao90::Lazy
 

Variables

const bool maomao90::internal::monoid::MIN_FLAG = true
 
const bool maomao90::internal::monoid::MAX_FLAG = false
 
template<bool is_min, typename T>
constexpr T maomao90::internal::monoid::limits_v = limits<is_min, T>::value