mirror of https://gitlab.com/cppit/libclangmm
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
724 B
25 lines
724 B
#ifndef SOURCERANGE_H_ |
|
#define SOURCERANGE_H_ |
|
#include "source_location.h" |
|
#include <clang-c/Index.h> |
|
#include <string> |
|
#include <utility> |
|
|
|
namespace clangmm { |
|
class SourceRange { |
|
public: |
|
SourceRange(const CXSourceRange &cx_range) : cx_range(cx_range) {} |
|
SourceRange(const SourceLocation &start, const SourceLocation &end); |
|
SourceLocation get_start() const; |
|
SourceLocation get_end() const; |
|
std::pair<clangmm::Offset, clangmm::Offset> get_offsets() const; |
|
|
|
friend std::ostream &operator<<(std::ostream &os, const SourceRange &range) { |
|
os << range.get_start() << '-' << range.get_end(); |
|
return os; |
|
} |
|
|
|
CXSourceRange cx_range; |
|
}; |
|
} // namespace clangmm |
|
#endif // SOURCERANGE_H_
|
|
|