#ifndef BANDIT_MUST_H #define BANDIT_MUST_H #include "ValueProxy.h" namespace bandit { namespace Matchers { struct ValueMarker { const char* filename; int lineNumber; }; template const ValueProxy operator,(const T& value, const ValueMarker& marker) { return ValueProxy(marker.filename, marker.lineNumber, value); } template const MatchProxy operator,(const ValueProxy& value, bool negate) { return negate ? value.to_not : value.to; } template void operator,(const MatchProxy& matchProxy, const MatcherType& matcher) { matchProxy(matcher); } }} #define must ,(bandit::Matchers::ValueMarker){__FILE__, __LINE__},false, #define must_not ,(bandit::Matchers::ValueMarker){__FILE__, __LINE__},true, #endif //BANDIT_MUST_H