1//
2// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
3// Use of this source code is governed by a BSD-style license that can be
4// found in the LICENSE file.
5//
6
7#ifndef COMPILER_PREPROCESSOR_SOURCE_LOCATION_H_
8#define COMPILER_PREPROCESSOR_SOURCE_LOCATION_H_
9
10namespace pp
11{
12
13struct SourceLocation
14{
15    SourceLocation()
16        : file(0),
17          line(0)
18    {
19    }
20    SourceLocation(int f, int l)
21        : file(f),
22          line(l)
23    {
24    }
25
26    bool equals(const SourceLocation &other) const
27    {
28        return (file == other.file) && (line == other.line);
29    }
30
31    int file;
32    int line;
33};
34
35inline bool operator==(const SourceLocation &lhs, const SourceLocation &rhs)
36{
37    return lhs.equals(rhs);
38}
39
40inline bool operator!=(const SourceLocation &lhs, const SourceLocation &rhs)
41{
42    return !lhs.equals(rhs);
43}
44
45}  // namespace pp
46#endif  // COMPILER_PREPROCESSOR_SOURCE_LOCATION_H_
47