WPILibC++ 2024.1.1-beta-4
input_adapters.h File Reference
#include <array>
#include <cstddef>
#include <cstring>
#include <iterator>
#include <memory>
#include <numeric>
#include <string>
#include <type_traits>
#include <utility>
#include <cstdio>
#include <istream>
#include <wpi/detail/iterators/iterator_traits.h>
#include <wpi/detail/macro_scope.h>

Go to the source code of this file.

Classes

class  detail::file_input_adapter
 
class  detail::input_stream_adapter
 
class  detail::iterator_input_adapter< IteratorType >
 
struct  detail::wide_string_input_helper< BaseInputAdapter, 4 >
 
struct  detail::wide_string_input_helper< BaseInputAdapter, 2 >
 
class  detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >
 
struct  detail::iterator_input_adapter_factory< IteratorType, Enable >
 
struct  detail::is_iterator_of_multibyte< T >
 
struct  detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >
 
struct  detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, Enable >
 
struct  detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >
 
class  detail::span_input_adapter
 

Namespaces

namespace  detail
 detail namespace with internal helper functions
 
namespace  detail::container_input_adapter_factory_impl
 

Typedefs

using detail::contiguous_bytes_input_adapter = decltype(input_adapter(std::declval< const char * >(), std::declval< const char * >()))
 

Enumerations

enum class  detail::input_format_t {
  detail::json , detail::cbor , detail::msgpack , detail::ubjson ,
  detail::bson , detail::bjdata
}
 the supported input formats More...
 

Functions

template<typename IteratorType >
iterator_input_adapter_factory< IteratorType >::adapter_type detail::input_adapter (IteratorType first, IteratorType last)
 
template<typename ContainerType >
container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType >::adapter_type detail::input_adapter (const ContainerType &container)
 
file_input_adapter detail::input_adapter (std::FILE *file)
 
input_stream_adapter detail::input_adapter (std::istream &stream)
 
input_stream_adapter detail::input_adapter (std::istream &&stream)
 
template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value &&!std::is_array< CharT >::value &&std::is_integral< typename std::remove_pointer< CharT >::type >::value &&sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
contiguous_bytes_input_adapter detail::input_adapter (CharT b)
 
template<typename T , std::size_t N>
auto detail::input_adapter (T(&array)[N]) -> decltype(input_adapter(array, array+N))