Range.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // Copyright (C) 2013 Strahinja Val Markovic <val@markovic.io>
  2. //
  3. // This file is part of YouCompleteMe.
  4. //
  5. // YouCompleteMe is free software: you can redistribute it and/or modify
  6. // it under the terms of the GNU General Public License as published by
  7. // the Free Software Foundation, either version 3 of the License, or
  8. // (at your option) any later version.
  9. //
  10. // YouCompleteMe is distributed in the hope that it will be useful,
  11. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. // GNU General Public License for more details.
  14. //
  15. // You should have received a copy of the GNU General Public License
  16. // along with YouCompleteMe. If not, see <http://www.gnu.org/licenses/>.
  17. #ifndef RANGE_H_4MFTIGQK
  18. #define RANGE_H_4MFTIGQK
  19. #include "standard.h"
  20. #include "Location.h"
  21. namespace YouCompleteMe {
  22. // Half-open, [start, end>
  23. struct Range {
  24. Range() {}
  25. Range( const Location &start_location, const Location &end_location )
  26. : start_( start_location ), end_( end_location ) {}
  27. Range( const CXSourceRange &range );
  28. bool operator== ( const Range &other ) const {
  29. return
  30. start_ == other.start_ &&
  31. end_ == other.end_;
  32. }
  33. Location start_;
  34. Location end_;
  35. };
  36. } // namespace YouCompleteMe
  37. #endif /* end of include guard: RANGE_H_4MFTIGQK */