VCCC  2024.05
VisualCamp Common C++ library
cartesian_product_view< First, Vs > Class Template Reference

#include </home/jarvis/actions-runner/jarvis-vccc-2/_work/vccc/vccc/include/vccc/__ranges/views/cartesian_product_view.hpp>

+ Inheritance diagram for cartesian_product_view< First, Vs >:

Classes

class  iterator
 

Public Member Functions

constexpr cartesian_product_view ()=default
 
constexpr cartesian_product_view (First first, Vs... bases)
 
template<typename First2 = First, std::enable_if_t< disjunction< negation< simple_view< First2 > >, negation< simple_view< Vs > >... >::value, int > = 0>
constexpr iterator< false > begin ()
 
template<typename First2 = First, std::enable_if_t< conjunction< range< const First2 >, range< const Vs >... >::value, int > = 0>
constexpr iterator< true > begin () const
 
template<typename First2 = First, std::enable_if_t< conjunction< disjunction< negation< simple_view< First2 > >, negation< simple_view< Vs > >... >, detail::cartesian_product_is_common< First, Vs... > >::value, int > = 0>
constexpr iterator< false > end ()
 
template<typename First2 = First, std::enable_if_t< detail::cartesian_product_is_common< const First2, const Vs... >::value, int > = 0>
constexpr iterator< true > end () const
 
template<typename First2 = First, std::enable_if_t< detail::cartesian_product_is_common< const First2, const Vs... >::value==false, int > = 0>
constexpr default_sentinel_t end () const
 
template<typename First2 = First, std::enable_if_t< detail::cartesian_product_is_sized< First2, Vs... >::value, int > = 0>
constexpr std::size_t size ()
 
template<typename First2 = First, std::enable_if_t< detail::cartesian_product_is_sized< const First2, const Vs... >::value, int > = 0>
constexpr std::size_t size () const
 
- Public Member Functions inherited from view_interface< cartesian_product_view< First, Vs... > >
constexpr bool empty ()
 
constexpr bool empty ()
 
constexpr bool empty () const
 
constexpr bool empty () const
 
constexpr auto cbegin ()
 
constexpr auto cbegin () const
 
constexpr auto cend ()
 
constexpr auto cend () const
 
constexpr operator bool ()
 
constexpr operator bool () const
 
constexpr auto data ()
 
constexpr auto data () const
 
constexpr auto size ()
 
constexpr auto size () const
 
constexpr decltype(auto) front ()
 
constexpr decltype(auto) front () const
 
constexpr decltype(auto) back ()
 
constexpr decltype(auto) back () const
 
constexpr decltype(auto) operator[] (range_difference_t< R > n)
 
constexpr decltype(auto) operator[] (range_difference_t< R > n) const
 

Friends

template<bool Const>
class iterator
 

Additional Inherited Members

- Public Types inherited from view_interface< cartesian_product_view< First, Vs... > >
using $vccc_derived = cartesian_product_view< First, Vs... >
 

Constructor & Destructor Documentation

◆ cartesian_product_view() [1/2]

constexpr cartesian_product_view ( )
constexprdefault

◆ cartesian_product_view() [2/2]

constexpr cartesian_product_view ( First  first,
Vs...  bases 
)
inlineconstexpr

Member Function Documentation

◆ begin() [1/2]

constexpr iterator<false> begin ( )
inlineconstexpr

◆ begin() [2/2]

constexpr iterator<true> begin ( ) const
inlineconstexpr

◆ end() [1/3]

constexpr iterator<false> end ( )
inlineconstexpr

◆ end() [2/3]

constexpr iterator<true> end ( ) const
inlineconstexpr

◆ end() [3/3]

constexpr default_sentinel_t end ( ) const
inlineconstexpr

◆ size() [1/2]

constexpr std::size_t size ( )
inlineconstexpr

◆ size() [2/2]

constexpr std::size_t size ( ) const
inlineconstexpr

Friends And Related Function Documentation

◆ iterator

friend class iterator
friend

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