blob: 6982613ac74e3e9160f001d20c34adbb4b9d168c [file] [log] [blame]
alokp@chromium.org2c958ee2012-05-17 20:35:42 +00001//
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() : file(0), line(0) { }
16 SourceLocation(int f, int l) : file(f), line(l) { }
17
18 bool equals(const SourceLocation& other) const
19 {
20 return (file == other.file) && (line == other.line);
21 }
22
23 int file;
24 int line;
25};
26
27inline bool operator==(const SourceLocation& lhs, const SourceLocation& rhs)
28{
29 return lhs.equals(rhs);
30}
31
32inline bool operator!=(const SourceLocation& lhs, const SourceLocation& rhs)
33{
34 return !lhs.equals(rhs);
35}
36
37} // namespace pp
38#endif // COMPILER_PREPROCESSOR_SOURCE_LOCATION_H_