microfmt
Zero-allocation C++ formatting for constrained environments
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
ranges.hpp File Reference

Range and iterator-pair joining formatting views. More...

#include "../microfmt.hpp"
#include <iterator>
#include <string_view>
#include <type_traits>
Include dependency graph for ranges.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  microfmt::detail::is_range< T, typename >
 
struct  microfmt::detail::is_range< T, std::void_t< decltype(std::begin(std::declval< const T & >())), decltype(std::end(std::declval< const T & >()))> >
 
struct  microfmt::join_view< It, Sentinel >
 
struct  microfmt::formatter< join_view< It, Sentinel > >
 

Namespaces

namespace  microfmt
 
namespace  microfmt::detail
 

Functions

template<typename It , typename Sentinel , std::enable_if_t<!std::is_convertible_v< Sentinel, microfmt::string_view >, int > = 0>
constexpr auto microfmt::join (It first, Sentinel last, microfmt::string_view delimiter=", ") noexcept
 
template<typename Range , std::enable_if_t< detail::is_range< Range >::value, int > = 0>
constexpr auto microfmt::join (const Range &range, microfmt::string_view delimiter=", ") noexcept
 
template<typename Range , std::enable_if_t< !std::is_lvalue_reference_v< Range > &&detail::is_range< std::remove_reference_t< Range > >::value, int > = 0>
constexpr auto microfmt::join (Range &&, microfmt::string_view=", ") noexcept=delete
 

Detailed Description

Range and iterator-pair joining formatting views.