diff --git a/lexical_cast.htm b/lexical_cast.htm
index 47b8aaf..870068d 100644
--- a/lexical_cast.htm
+++ b/lexical_cast.htm
@@ -79,8 +79,13 @@ convenience for such conversions. For more involved conversions, such as where
precision or formatting need tighter control than is offered by the default
behavior of lexical_cast
, the conventional
stringstream
approach is recommended. Where the conversions are
-numeric to numeric, numeric_cast
may offer more reasonable
-behavior than lexical_cast
.
+numeric to numeric, numeric_cast
+may offer more reasonable behavior than lexical_cast
.
+
+For a good discussion of the options and issues involved in string-based formatting,
+including comparison of stringstream
, lexical_cast
, and
+others, see Herb Sutter's article,
+The String Formatters of Manor Farm.
arg
into a std::stringstream
and then
-out as a Target
object. The conversion is parameterized by the current
-lexical_context
, if set. If the conversion is
-unsuccessful, a bad_lexical_cast
exception is thrown
-if the current lexical_context
is set for throwing or
-if there is no current lexical_context
set, otherwise a
-Target()
is returned.
+out as a Target
object. If the conversion is unsuccessful, a
+bad_lexical_cast
exception is thrown.
The requirements on the argument and result types are:
<sstream>
header for out-of-the-bo
basic_string
types, and empty strings.
std::basic_string
issues need to be catered for.
+ Optimize the use of a stream away for identity conversions.
interpret_cast
that performs a do-something-reasonable conversion between
types. It would, for instance, select between numeric_cast
and lexical_cast
- based on std::numeric_limits<>::is_specialized
.
+ based on std::numeric_limits<>::is_specialized
. This would be an interesting
+ project, but there are no concrete plans to pursue this at the moment.
+ lexical_cast
, is intended to look like a built-in cast operator: built-in cast operators
+ take only a single operand. Where a higher degree of control is required over conversions, the
+ standard stringstream
offers a more appropriate path. Where non-stream-based conversions
+ are required, lexical_cast
is the wrong tool for the job, and so it won't be special-cased
+ for such scenarios.