|
libosmscout
1.1.1
|
|
Classes | |
| class | osmscout::Breaker |
| class | osmscout::Cache< K, V, IK > |
| class | osmscout::CLASS_FINAL< DataLoader > |
Typedefs | |
| using | osmscout::OSMId = int64_t |
| using | osmscout::Id = uint64_t |
| using | osmscout::FileOffset = uint64_t |
| using | osmscout::TypeId = uint16_t |
Functions | |
| template<typename N > | |
| unsigned int | osmscout::EncodeNumberSigned (N number, char *buffer) |
| template<typename N > | |
| unsigned int | osmscout::EncodeNumberUnsigned (N number, char *buffer) |
| template<typename N > | |
| unsigned int | osmscout::EncodeNumber (N number, char *buffer) |
| template<typename N , size_t S> | |
| unsigned int | osmscout::EncodeNumber (N number, std::array< char, S > &buffer) |
| template<typename N > | |
| unsigned int | osmscout::DecodeNumberSigned (const char *buffer, N &number) |
| template<typename N > | |
| unsigned int | osmscout::DecodeNumberUnsigned (const char *buffer, N &number) |
| template<typename N > | |
| unsigned int | osmscout::DecodeNumber (const char *buffer, N &number) |
| template<typename N > | |
| N | osmscout::BitsToBytes (N bits) |
| template<typename N > | |
| uint8_t | osmscout::BytesNeededToEncodeNumber (N number) |
| template<typename N > | |
| uint8_t | osmscout::BitsNeededToEncodeNumber (N number) |
| OSMSCOUT_API uint64_t | osmscout::InterleaveNumbers (uint32_t a, uint32_t b) |
| OSMSCOUT_API bool | osmscout::StringToBool (const char *string, bool &value) |
| OSMSCOUT_API bool | osmscout::GetDigitValue (char digit, size_t &result) |
| template<typename N > | |
| bool | osmscout::StringToNumber (const std::string &string, N &number, size_t base=10) |
| OSMSCOUT_API bool | osmscout::StringToNumber (const char *string, double &value) |
| OSMSCOUT_API bool | osmscout::StringToNumber (const std::string &string, double &value) |
| OSMSCOUT_API size_t | osmscout::CountWords (const std::string &text) |
| OSMSCOUT_API std::list< std::string > | osmscout::SplitStringAtSpace (const std::string &input) |
| OSMSCOUT_API std::list< std::string > | osmscout::SplitString (const std::string &stringList, const std::string &separator, int maxSize=-1) |
| OSMSCOUT_API std::string | osmscout::GetFirstInStringList (const std::string &stringList, const std::string ÷r) |
| OSMSCOUT_API void | osmscout::TokenizeString (const std::string &input, std::list< std::string > &tokens) |
| OSMSCOUT_API void | osmscout::SimplifyTokenList (std::list< std::string > &tokens) |
| OSMSCOUT_API void | osmscout::GroupStringListToStrings (std::list< std::string >::const_iterator token, size_t listSize, size_t parts, std::list< std::list< std::string > > &lists) |
| OSMSCOUT_API std::string | osmscout::ByteSizeToString (FileOffset size) |
| OSMSCOUT_API std::wstring | osmscout::LocaleStringToWString (const std::string &text) |
| OSMSCOUT_API std::string | osmscout::WStringToLocaleString (const std::wstring &text) |
| OSMSCOUT_API std::wstring | osmscout::UTF8StringToWString (const std::string &text) |
| OSMSCOUT_API std::u32string | osmscout::UTF8StringToU32String (const std::string &text) |
| OSMSCOUT_API std::string | osmscout::WStringToUTF8String (const std::wstring &text) |
| OSMSCOUT_API std::string | osmscout::LocaleStringToUTF8String (const std::string &text) |
| OSMSCOUT_API std::string | osmscout::UTF8StringToLocaleString (const std::string &text) |
Variables | |
| OSMSCOUT_API const double | osmscout::lonConversionFactor |
| OSMSCOUT_API const double | osmscout::latConversionFactor |
| const size_t | osmscout::coordByteSize =7 |
General utility stuff like enhanced string operations, special data structures...
| using osmscout::FileOffset = typedef uint64_t |
Type for describing the position of data within a file.
| using osmscout::Id = typedef uint64_t |
Type to be used for libosmscout internal ids (unsigned numbers with 64 bit size).
| using osmscout::OSMId = typedef int64_t |
Type to be used for OSM ids (signed numbers with 64 bit size).
| using osmscout::TypeId = typedef uint16_t |
Type for describing a type of an way, area or node.
| uint8_t osmscout::BitsNeededToEncodeNumber | ( | N | number | ) |
Returns the number of bytes needed to encode the number. The function calculates the number of bytes that contain information, dropping leading bytes that only contain zero.
|
inline |
Returns the number of bytes needed to encode the given number of bits.
| OSMSCOUT_API std::string osmscout::ByteSizeToString | ( | FileOffset | size | ) |
| uint8_t osmscout::BytesNeededToEncodeNumber | ( | N | number | ) |
Returns the number of bytes needed to encode the number. The function calculates the number of bytes that contain information, dropping leading bytes that only contain zero.
| OSMSCOUT_API size_t osmscout::CountWords | ( | const std::string & | text | ) |
|
inline |
Decode a variable length encoded number from the buffer back to the variable.
The methods returns the number of bytes read.
|
inline |
Decode a signed variable length encoded number from the buffer back to the variable.
The methods returns the number of bytes read.
|
inline |
Decode an unsigned variable length encoded number from the buffer back to the variable.
The methods returns the number of bytes read.
|
inline |
Encode a number into the given buffer using some variable length encoding.
The current implementation requires the buffer to have at least space for sizeof(N)*8/7 bytes for an unsigned number and sizeof(N)*8/7 + 1/8 bytes for a signed number
This are 5 bytes for a 32bit value and 10 bytes for a 64bit value.
The methods returns the number of bytes written.
|
inline |
Encode a number into the given buffer using some variable length encoding.
The current implementation requires the buffer to have at least space for sizeof(N)*8/7 bytes for an unsigned number and sizeof(N)*8/7 + 1/8 bytes for a signed number
This are 5 bytes for a 32bit value and 10 bytes for a 64bit value.
The methods returns the number of bytes written.
|
inline |
Encode a signed number into the given buffer using some variable length encoding.
The first bit (if set) signals a negative number. The highest bit in a byte is set, if there is an additional byte following. So we use one bit for signaling signess and use 7 of 8 bytes per byte for data.
The current implementation thus requires the buffer to have at least space for sizeof(N)*8/7 + 1/8 bytes:
This are 5 bytes for a 32bit value and 10 bytes for a 64bit value.
The methods returns the number of bytes written.
|
inline |
Encode an unsigned number into the given buffer using some variable length encoding.
The highest bit in a byte is set, if there is an additional byte following. So we use 7 of 8 bytes per byte for data.
The current implementation requires the buffer to have at least space for sizeof(N)*8/7 bytes:
This are 5 bytes for a 32bit value and 10 bytes for a 64bit value.
The methods returns the number of bytes written.
| OSMSCOUT_API bool osmscout::GetDigitValue | ( | char | digit, |
| size_t & | result | ||
| ) |
Returns the numerical value of the given character, if the character is a digit in a numerical value. The current code allows digits in the range from 0-9 and a-f and A-F. And thus supports numerical bases from 1-16.
| OSMSCOUT_API std::string osmscout::GetFirstInStringList | ( | const std::string & | stringList, |
| const std::string & | divider | ||
| ) |
Assumes that the string consists of a number of values separated by one of the given divider. If the list consists of one entry, no divider is used.
Returns the first entry in the list
| OSMSCOUT_API void osmscout::GroupStringListToStrings | ( | std::list< std::string >::const_iterator | token, |
| size_t | listSize, | ||
| size_t | parts, | ||
| std::list< std::list< std::string > > & | lists | ||
| ) |
Given a list of strings, individual strings will be combined into a given number of sub groups (individual string concatenated and separated by a space).
If you pass a list of 5 strings to be divided into 3 parts, a list of string-list will be returned, where each list contains exactly 3 strings.
| OSMSCOUT_API uint64_t osmscout::InterleaveNumbers | ( | uint32_t | a, |
| uint32_t | b | ||
| ) |
Encodes the given numbers into a new number of twice the size that has the bits of each number alternating interleaved.
This can be used to convert two dimensional coordinates into one number, where coordinates close in 2D are close in the one dimensional projection, too.
| OSMSCOUT_API std::string osmscout::LocaleStringToUTF8String | ( | const std::string & | text | ) |
Convert the given std::string in the current locale to a std::string containing a corresponding UTF8 character sequence
| text | the std::wstring to get converted |
| OSMSCOUT_API std::wstring osmscout::LocaleStringToWString | ( | const std::string & | text | ) |
Converts the given std::string with content in the current locale to a std::wstring
| text | String to get converted |
| OSMSCOUT_API void osmscout::SimplifyTokenList | ( | std::list< std::string > & | tokens | ) |
Simplifying a token list by merging tokens that start with an upper case letter followed by a token starting with a lower case letter.
| OSMSCOUT_API std::list<std::string> osmscout::SplitString | ( | const std::string & | stringList, |
| const std::string & | separator, | ||
| int | maxSize = -1 |
||
| ) |
Split string by separator. For arguments "asphalt;ground;gravel" and ";" return list of three...
| OSMSCOUT_API std::list<std::string> osmscout::SplitStringAtSpace | ( | const std::string & | input | ) |
Converts the given string into a list of whitespace separated (std::isspace()) strings.
| OSMSCOUT_API bool osmscout::StringToBool | ( | const char * | string, |
| bool & | value | ||
| ) |
Convert the given string to a boolean value
| string | string with a potential boolean value (either 'true' or 'false') |
| value | value to copy the result to if no error occured |
|
inline |
Converts a string holding a (possibly negative) numerical value of the given base to the numerical value itself.
Example: "-13" => -13
| OSMSCOUT_API bool osmscout::StringToNumber | ( | const char * | string, |
| double & | value | ||
| ) |
| OSMSCOUT_API bool osmscout::StringToNumber | ( | const std::string & | string, |
| double & | value | ||
| ) |
| OSMSCOUT_API void osmscout::TokenizeString | ( | const std::string & | input, |
| std::list< std::string > & | tokens | ||
| ) |
Converts the given string into a list of whitespace or colon-separated strings.
| OSMSCOUT_API std::string osmscout::UTF8StringToLocaleString | ( | const std::string & | text | ) |
Convert the given std::string in UTF-8 a std::string containing to corresponding string in the current locale.
| text | the std::wstring to get converted |
| OSMSCOUT_API std::u32string osmscout::UTF8StringToU32String | ( | const std::string & | text | ) |
Convert the given std::string containign a UTF8 character sequence to a std::u32string
| text | String to get converted |
| OSMSCOUT_API std::wstring osmscout::UTF8StringToWString | ( | const std::string & | text | ) |
Convert the given std::string containign a UTF8 character sequence to a std::wstring
| text | String to get converted |
| OSMSCOUT_API std::string osmscout::WStringToLocaleString | ( | const std::wstring & | text | ) |
Converts the given std::wstring to a std::string with content in the current locale
| text | String to get converted |
| OSMSCOUT_API std::string osmscout::WStringToUTF8String | ( | const std::wstring & | text | ) |
Convert the given std::wstring to a std::string containing a corresponding UTF8 character sequence
| text | the std::wstring to get converted |
| const size_t osmscout::coordByteSize =7 |
Number of bytes needed to store a lat,lon coordinate pair.
| OSMSCOUT_API const double osmscout::latConversionFactor |
Coordinates will be stored as unsigned long values in file. For the conversion the float value is shifted to positive value and afterwards multiplied by conversion factor to get long values without significant values after colon.
| OSMSCOUT_API const double osmscout::lonConversionFactor |
Coordinates will be stored as unsigned long values in file. For the conversion the float value is shifted to positive value and afterwards multiplied by conversion factor to get long values without significant values after colon.
1.8.14