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_SOURCELOCATION_H_
8#define COMPILER_PREPROCESSOR_SOURCELOCATION_H_
9
10namespace angle
11{
12
13namespace pp
14{
15
16struct SourceLocation
17{
18 SourceLocation() : file(0), line(0) {}
19 SourceLocation(int f, int l) : file(f), line(l) {}
20
21 bool equals(const SourceLocation &other) const
22 {
23 return (file == other.file) && (line == other.line);
24 }
25
26 int file;
27 int line;
28};
29
30inline bool operator==(const SourceLocation &lhs, const SourceLocation &rhs)
31{
32 return lhs.equals(rhs);
33}
34
35inline bool operator!=(const SourceLocation &lhs, const SourceLocation &rhs)
36{
37 return !lhs.equals(rhs);
38}
39
40} // namespace pp
41
42} // namespace angle
43
44#endif // COMPILER_PREPROCESSOR_SOURCELOCATION_H_
45