#include <locale>
#include <iostream>
#include <sstream>
#include <iomanip>
struct skip_extra : std::ctype<char> {
skip_extra()
: std::ctype<char>( get_table() )
{}
static const mask* get_table() {
static const std::array<mask, table_size> table = [&]() {
std::array<mask, table_size> table;
std::copy( classic_table(), classic_table() + table_size, table.begin() );
table['"'] |= space;
table['\''] |= space;
table['['] |= space;
table[']'] |= space;
table[','] |= space;
return table;
}();
return table.begin();
}
};
int main() {
std::istringstream s( "\"[['1.81592098644987','52.5487429714954'],['-1.81592290792183','52.5487234624632']]\"" );
s.imbue( std::locale( s.getloc(), new skip_extra ) );
double x;
while ( s >> x ) {
std::cout << std::setprecision( 15 ) << x << "\n";
}
}
I2luY2x1ZGUgPGxvY2FsZT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPGlvbWFuaXA+CgpzdHJ1Y3Qgc2tpcF9leHRyYSA6IHN0ZDo6Y3R5cGU8Y2hhcj4gewogICAgc2tpcF9leHRyYSgpCiAgICAgICAgOiBzdGQ6OmN0eXBlPGNoYXI+KCBnZXRfdGFibGUoKSApCiAgICB7fQogICAgc3RhdGljIGNvbnN0IG1hc2sqIGdldF90YWJsZSgpIHsKICAgICAgICBzdGF0aWMgY29uc3Qgc3RkOjphcnJheTxtYXNrLCB0YWJsZV9zaXplPiB0YWJsZSA9IFsmXSgpIHsKICAgICAgICAgICAgc3RkOjphcnJheTxtYXNrLCB0YWJsZV9zaXplPiB0YWJsZTsKICAgICAgICAgICAgc3RkOjpjb3B5KCBjbGFzc2ljX3RhYmxlKCksIGNsYXNzaWNfdGFibGUoKSArIHRhYmxlX3NpemUsIHRhYmxlLmJlZ2luKCkgKTsKICAgICAgICAgICAgdGFibGVbJyInXSB8PSBzcGFjZTsKICAgICAgICAgICAgdGFibGVbJ1wnJ10gfD0gc3BhY2U7CiAgICAgICAgICAgIHRhYmxlWydbJ10gfD0gc3BhY2U7CiAgICAgICAgICAgIHRhYmxlWyddJ10gfD0gc3BhY2U7CiAgICAgICAgICAgIHRhYmxlWycsJ10gfD0gc3BhY2U7CiAgICAgICAgICAgIHJldHVybiB0YWJsZTsKICAgICAgICB9KCk7CiAgICAgICAgcmV0dXJuIHRhYmxlLmJlZ2luKCk7CiAgICB9Cn07CgppbnQgbWFpbigpIHsKICAgIHN0ZDo6aXN0cmluZ3N0cmVhbSBzKCAiXCJbWycxLjgxNTkyMDk4NjQ0OTg3JywnNTIuNTQ4NzQyOTcxNDk1NCddLFsnLTEuODE1OTIyOTA3OTIxODMnLCc1Mi41NDg3MjM0NjI0NjMyJ11dXCIiICk7CiAgICBzLmltYnVlKCBzdGQ6OmxvY2FsZSggcy5nZXRsb2MoKSwgbmV3IHNraXBfZXh0cmEgKSApOwogICAgZG91YmxlIHg7CiAgICB3aGlsZSAoIHMgPj4geCApIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgc3RkOjpzZXRwcmVjaXNpb24oIDE1ICkgPDwgeCA8PCAiXG4iOwogICAgfQp9