summaryrefslogtreecommitdiff
path: root/vendor/bandit/bandit/assertion_frameworks/matchers/ValueProxy.h
blob: 0cd5d35cf9fd3300510f0cacadb56f57a0d53cf2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef BANDIT_VALUEPROXY_H
#define BANDIT_VALUEPROXY_H

#include "MatchProxy.h"

namespace bandit { namespace Matchers {

    template<typename T>
    class ValueProxy
    {
    public:
        MatchProxy<T> to;
        MatchProxy<T> to_not;

        explicit ValueProxy(const char* filename, int lineNumber, const T& value) : to(*this), to_not(*this, true), _value(value), _filename(filename), _lineNumber(lineNumber) {}

    private:
        friend class MatchProxy<T>;

        const T&    _value;
        std::string _filename;
        int         _lineNumber;
    };
}}

#endif	// BANDIT_VALUEPROXY_H