summaryrefslogtreecommitdiff
path: root/src/range.hh
blob: eb8be2694ecc1c5331e3d0e005be041192af4f37 (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
27
28
29
30
31
#ifndef range_hh_INCLUDED
#define range_hh_INCLUDED

namespace Kakoune
{

template<typename T>
struct Range
{
    T begin;
    T end;

    friend bool operator==(const Range& lhs, const Range& rhs)
    {
        return lhs.begin == rhs.begin and lhs.end == rhs.end;
    }

    friend bool operator!=(const Range& lhs, const Range& rhs)
    {
        return not (lhs == rhs);
    }

    friend size_t hash_value(const Range& range)
    {
        return hash_values(range.begin, range.end);
    }
};

}

#endif // range_hh_INCLUDED