Boost logo

Boost :

From: Pavel Vozenilek (pavel_vozenilek_at_[hidden])
Date: 2003-06-04 23:12:50

lexical_cast<> constructs and destroys std::stringstream
(including dynamic memory allocation/free.)
each time a conversion is done.

Maybe specialised version of lexical_cast<> can be developed
which takes external, existing stringstream instance as
template parameter and reuses it.

Very rough idea:

template<typename Target, std::stringstream& ss, typename Source>
Target lex_cast(Source s)
    // clear ss
    ss << s;
    Target t;
    ss >> t;
    return t;

extern std::stringstream ss;
std::stringstream ss;

int a = 99;
std::string s = lex_cast<std::string, ss>(a);


Boost list run by bdawes at, gregod at, cpdaniel at, john at