123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- #ifndef BOOST_STRING_FORMATTER_HPP
- #define BOOST_STRING_FORMATTER_HPP
- #include <boost/detail/iterator.hpp>
- #include <boost/range/value_type.hpp>
- #include <boost/range/iterator_range.hpp>
- #include <boost/range/as_literal.hpp>
- #include <boost/algorithm/string/detail/formatter.hpp>
- namespace boost {
- namespace algorithm {
-
-
- template<typename RangeT>
- inline detail::const_formatF<
- iterator_range<
- BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >
- const_formatter(const RangeT& Format)
- {
- return detail::const_formatF<
- iterator_range<
- BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >(as_literal(Format));
- }
-
-
- template<typename RangeT>
- inline detail::identity_formatF<
- iterator_range<
- BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >
- identity_formatter()
- {
- return detail::identity_formatF<
- iterator_range<
- BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >();
- }
-
-
- template<typename RangeT>
- inline detail::empty_formatF<
- BOOST_STRING_TYPENAME range_value<RangeT>::type>
- empty_formatter(const RangeT&)
- {
- return detail::empty_formatF<
- BOOST_STRING_TYPENAME range_value<RangeT>::type>();
- }
- }
-
- using algorithm::const_formatter;
- using algorithm::identity_formatter;
- using algorithm::empty_formatter;
- }
- #endif
|