summaryrefslogtreecommitdiff
path: root/src/flags.hh
AgeCommit message (Collapse)Author
2023-10-25Default comparison operators that can beMaxime Coste
2023-10-25Remove redundant comparison operatorsMaxime Coste
Since C++20 (a != b) get automatically rewritten as !(a == b) if the != operator does not exist.
2021-11-21Replace std::enable_if with requiresMaxime Coste
Introduce some concepts for enum and flags handling, goodbye and thanks for all the fish std::enable_if.
2017-10-06Add more constexpr to flags wrapping functionsMaxime Coste
2017-07-19Migrate code to c++14Maxime Coste
2017-03-15Migrate WithBitOps template specialization to with_bit_ops functionMaxime Coste
This way we dont depend on knowing the base template to enable bit ops on an enum type.
2016-11-14Tweak RankedMatch behaviour and fix bug in its comparison functionMaxime Coste
casting TestableFlag<T> to UnderlyingType<T> was going through bool conversion... Not sure how things worked earlier.
2016-08-29Use flags and bit operations instead of bools in RankedMatchMaxime Coste
full match is now the most important flag for comparison.
2015-11-20Move enum option handling in enum.hh and refactor enum optionsMaxime Coste
2015-05-26Retreat ! go back to C++11 only codeMaxime Coste
This reverts commit b42de850314e7d76f873ddc7d64c5f7d2a30eb00.
2015-05-25Migrate code to c++14Maxime Coste
2015-03-16Change flags operator& to return a value convertible both to flags and boolMaxime Coste
2014-11-04Tweak flags implementationMaxime Coste
2014-10-23centralize bit operation support for enum used as flagsMaxime Coste