json_spirit_error_position.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // ECOin - Copyright (c) - 2014/2021 - GPLv3 - epsylon@riseup.net (https://03c8.net)
  2. #ifndef JSON_SPIRIT_ERROR_POSITION
  3. #define JSON_SPIRIT_ERROR_POSITION
  4. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  5. # pragma once
  6. #endif
  7. #include <string>
  8. namespace json_spirit
  9. {
  10. struct Error_position
  11. {
  12. Error_position();
  13. Error_position( unsigned int line, unsigned int column, const std::string& reason );
  14. bool operator==( const Error_position& lhs ) const;
  15. unsigned int line_;
  16. unsigned int column_;
  17. std::string reason_;
  18. };
  19. inline Error_position::Error_position()
  20. : line_( 0 )
  21. , column_( 0 )
  22. {
  23. }
  24. inline Error_position::Error_position( unsigned int line, unsigned int column, const std::string& reason )
  25. : line_( line )
  26. , column_( column )
  27. , reason_( reason )
  28. {
  29. }
  30. inline bool Error_position::operator==( const Error_position& lhs ) const
  31. {
  32. if( this == &lhs ) return true;
  33. return ( reason_ == lhs.reason_ ) &&
  34. ( line_ == lhs.line_ ) &&
  35. ( column_ == lhs.column_ );
  36. }
  37. }
  38. #endif