mirror of
https://github.com/ecency/ecency-mobile.git
synced 2024-12-21 04:11:50 +03:00
41 lines
1.2 KiB
C++
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
|