scnlib  0.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
scn::detail::ranges::view_interface< D > Class Template Reference

#include <ranges.h>

Inheritance diagram for scn::detail::ranges::view_interface< D >:
scn::detail::ranges::view_base

Public Member Functions

SCN_NODISCARD SCN_CONSTEXPR14 bool empty ()
 
SCN_NODISCARD constexpr bool empty () const
 
template<typename R = D, typename = decltype( ::scn::detail::ranges::empty(std::declval<R&>()))>
SCN_CONSTEXPR14 operator bool ()
 
template<typename R = D, typename = decltype(::scn::detail::ranges::empty( std::declval<const R&>()))>
constexpr operator bool () const
 
template<typename R = D, typename std::enable_if< contiguous_range< R >::value >::type * = nullptr>
auto data () -> decltype(std::addressof(*::scn::detail::ranges::begin(static_cast< R & >(*this))))
 
template<typename R = D, typename std::enable_if< contiguous_range< const R >::value >::type * = nullptr>
auto data () const -> decltype(std::addressof(*::scn::detail::ranges::begin(static_cast< const R & >(*this))))
 
template<typename R = D, typename std::enable_if< range< R >::value &&sized_sentinel_for< sentinel_t< R >, iterator_t< R >>::value >::type * = nullptr>
SCN_CONSTEXPR14 auto size () -> decltype(::scn::detail::ranges::end(static_cast< R & >(*this))-::scn::detail::ranges::begin(static_cast< R & >(*this)))
 
template<typename R = D, typename std::enable_if< range< const R >::value &&sized_sentinel_for< sentinel_t< const R >, iterator_t< const R >>::value >::type * = nullptr>
constexpr auto size () const -> decltype(::scn::detail::ranges::end(static_cast< const R & >(*this))-::scn::detail::ranges::begin(static_cast< const R & >(*this)))
 

Detailed Description

template<typename D>
class scn::detail::ranges::view_interface< D >

Definition at line 805 of file ranges.h.

Member Function Documentation

template<typename D>
template<typename R = D, typename std::enable_if< contiguous_range< R >::value >::type * = nullptr>
auto scn::detail::ranges::view_interface< D >::data ( ) -> decltype(std::addressof( *::scn::detail::ranges::begin(static_cast<R&>(*this))))
inline

Definition at line 851 of file ranges.h.

template<typename D>
template<typename R = D, typename std::enable_if< contiguous_range< const R >::value >::type * = nullptr>
auto scn::detail::ranges::view_interface< D >::data ( ) const -> decltype(std::addressof(*::scn::detail::ranges::begin( static_cast<const R&>(*this))))
inline

Definition at line 862 of file ranges.h.

template<typename D>
SCN_NODISCARD SCN_CONSTEXPR14 bool scn::detail::ranges::view_interface< D >::empty ( )
inline

Definition at line 822 of file ranges.h.

template<typename D>
SCN_NODISCARD constexpr bool scn::detail::ranges::view_interface< D >::empty ( ) const
inline

Definition at line 827 of file ranges.h.

template<typename D>
template<typename R = D, typename = decltype( ::scn::detail::ranges::empty(std::declval<R&>()))>
SCN_CONSTEXPR14 scn::detail::ranges::view_interface< D >::operator bool ( )
inlineexplicit

Definition at line 836 of file ranges.h.

template<typename D>
template<typename R = D, typename = decltype(::scn::detail::ranges::empty( std::declval<const R&>()))>
constexpr scn::detail::ranges::view_interface< D >::operator bool ( ) const
inlineexplicit

Definition at line 843 of file ranges.h.

template<typename D>
template<typename R = D, typename std::enable_if< range< R >::value &&sized_sentinel_for< sentinel_t< R >, iterator_t< R >>::value >::type * = nullptr>
SCN_CONSTEXPR14 auto scn::detail::ranges::view_interface< D >::size ( ) -> decltype( ::scn::detail::ranges::end(static_cast<R&>(*this)) - ::scn::detail::ranges::begin(static_cast<R&>(*this)))
inline

Definition at line 877 of file ranges.h.

template<typename D>
template<typename R = D, typename std::enable_if< range< const R >::value &&sized_sentinel_for< sentinel_t< const R >, iterator_t< const R >>::value >::type * = nullptr>
constexpr auto scn::detail::ranges::view_interface< D >::size ( ) const -> decltype( ::scn::detail::ranges::end(static_cast<const R&>(*this)) - ::scn::detail::ranges::begin(static_cast<const R&>(*this)))
inline

Definition at line 892 of file ranges.h.


The documentation for this class was generated from the following file: