1
0
mirror of https://github.com/PurpleI2P/Boost-for-Android-Prebuilt synced 2025-01-08 22:08:01 +00:00
Boost-for-Android-Prebuilt/boost-1_72_0/include/boost/convert/lexical_cast.hpp
r4sas 93de5720b8
add boost 1.72.0
Signed-off-by: r4sas <r4sas@i2pmail.org>
2020-02-29 22:43:48 +00:00

41 lines
1.2 KiB
C++

// Copyright (c) 2009-2016 Vladimir Batov.
// Use, modification and distribution are subject to the Boost Software License,
// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt.
#ifndef BOOST_CONVERT_LEXICAL_CAST_HPP
#define BOOST_CONVERT_LEXICAL_CAST_HPP
#include <boost/lexical_cast.hpp>
namespace boost { namespace cnv
{
struct lexical_cast;
}}
/// @brief boost::lexical_cast-based converter
/// @details The purpose of the converter is to
/// * Make use of the boost::lexical_cast functionality and performance that many people have become
/// accustomed to and comfortable with;
/// * Demonstrate how existing independent conversion/transformation-related facilities might be
// incorporated in to the Boost.Convert framework.
///
/// The converter can easily replace boost::lexical_cast, adding flexibility and convenience.
struct boost::cnv::lexical_cast
{
template<typename TypeOut, typename TypeIn>
void
operator()(TypeIn const& value_in, boost::optional<TypeOut>& result_out) const
{
try
{
result_out = boost::lexical_cast<TypeOut>(value_in);
}
catch (boost::bad_lexical_cast const&)
{
}
}
};
#endif // BOOST_CONVERT_LEXICAL_CAST_HPP