12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #ifndef JSON_SPIRIT_ERROR_POSITION
- #define JSON_SPIRIT_ERROR_POSITION
- // Copyright John W. Wilkinson 2007 - 2009.
- // Distributed under the MIT License, see accompanying file LICENSE.txt
- // json spirit version 4.03
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
- # pragma once
- #endif
- #include <string>
- namespace json_spirit
- {
- // An Error_position exception is thrown by the "read_or_throw" functions below on finding an error.
- // Note the "read_or_throw" functions are around 3 times slower than the standard functions "read"
- // functions that return a bool.
- //
- struct Error_position
- {
- Error_position();
- Error_position( unsigned int line, unsigned int column, const std::string& reason );
- bool operator==( const Error_position& lhs ) const;
- unsigned int line_;
- unsigned int column_;
- std::string reason_;
- };
- inline Error_position::Error_position()
- : line_( 0 )
- , column_( 0 )
- {
- }
- inline Error_position::Error_position( unsigned int line, unsigned int column, const std::string& reason )
- : line_( line )
- , column_( column )
- , reason_( reason )
- {
- }
- inline bool Error_position::operator==( const Error_position& lhs ) const
- {
- if( this == &lhs ) return true;
- return ( reason_ == lhs.reason_ ) &&
- ( line_ == lhs.line_ ) &&
- ( column_ == lhs.column_ );
- }
- }
- #endif
|