mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Private Attributes
m::detail::the_condition_entry_iterator< Actual, C, Entry > Struct Template Reference

Iterator interface to iterate over pairs of ConditionSet and. More...

#include <PhysicalPlanTable.hpp>

Inheritance diagram for m::detail::the_condition_entry_iterator< Actual, C, Entry >:
[legend]
Collaboration diagram for m::detail::the_condition_entry_iterator< Actual, C, Entry >:
[legend]

Public Types

using entry_type = Entry
 
using value_type = condition_entry_t< entry_type >
 
using reference = std::conditional_t< IsConst, const value_type &, value_type & >
 
using pointer = std::conditional_t< IsConst, const value_type *, value_type * >
 
using actual_type = Actual
 

Public Member Functions

bool operator== (const the_condition_entry_iterator &other) const
 
bool operator!= (const the_condition_entry_iterator &other) const
 
the_condition_entry_iteratoroperator++ ()
 
the_condition_entry_iterator operator++ (int)
 
reference operator* () const
 
pointer operator-> () const
 
actual_typeactual ()
 
const actual_typeactual () const
 

Static Public Attributes

static constexpr bool IsConst = C
 

Private Attributes

friend CRTPBaseType< ConcreteType, B, TParams... >
 

Detailed Description

template<typename Actual, bool C, typename Entry>
struct m::detail::the_condition_entry_iterator< Actual, C, Entry >

Iterator interface to iterate over pairs of ConditionSet and.

Template Parameters
Entry.Makes use of CRTP to create static polymorphism to the concrete implementation
Actual.
Cindicates whether the concrete implementation is a const iterator. This is necessary since this parent class is initialized before the concrete class (due to inheritance), s.t. access to the constness of the concrete class (e.g. using Actual::IsConst) is not possible.

Definition at line 41 of file PhysicalPlanTable.hpp.

Member Typedef Documentation

◆ actual_type

using m::crtp_boolean< Actual , the_condition_entry_iterator , B, TParams >::actual_type = Actual
inherited

Definition at line 66 of file crtp.hpp.

◆ entry_type

template<typename Actual , bool C, typename Entry >
using m::detail::the_condition_entry_iterator< Actual, C, Entry >::entry_type = Entry

Definition at line 44 of file PhysicalPlanTable.hpp.

◆ pointer

template<typename Actual , bool C, typename Entry >
using m::detail::the_condition_entry_iterator< Actual, C, Entry >::pointer = std::conditional_t<IsConst, const value_type*, value_type*>

Definition at line 49 of file PhysicalPlanTable.hpp.

◆ reference

template<typename Actual , bool C, typename Entry >
using m::detail::the_condition_entry_iterator< Actual, C, Entry >::reference = std::conditional_t<IsConst, const value_type&, value_type&>

Definition at line 48 of file PhysicalPlanTable.hpp.

◆ value_type

template<typename Actual , bool C, typename Entry >
using m::detail::the_condition_entry_iterator< Actual, C, Entry >::value_type = condition_entry_t<entry_type>

Definition at line 47 of file PhysicalPlanTable.hpp.

Member Function Documentation

◆ actual() [1/2]

actual_type & m::crtp_boolean< Actual , the_condition_entry_iterator , B, TParams >::actual ( )
inlineinherited

Definition at line 67 of file crtp.hpp.

◆ actual() [2/2]

const actual_type & m::crtp_boolean< Actual , the_condition_entry_iterator , B, TParams >::actual ( ) const
inlineinherited

Definition at line 68 of file crtp.hpp.

◆ operator!=()

template<typename Actual , bool C, typename Entry >
bool m::detail::the_condition_entry_iterator< Actual, C, Entry >::operator!= ( const the_condition_entry_iterator< Actual, C, Entry > &  other) const
inline

◆ operator*()

template<typename Actual , bool C, typename Entry >
reference m::detail::the_condition_entry_iterator< Actual, C, Entry >::operator* ( ) const
inline

◆ operator++() [1/2]

template<typename Actual , bool C, typename Entry >
the_condition_entry_iterator & m::detail::the_condition_entry_iterator< Actual, C, Entry >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename Actual , bool C, typename Entry >
the_condition_entry_iterator m::detail::the_condition_entry_iterator< Actual, C, Entry >::operator++ ( int  )
inline

◆ operator->()

template<typename Actual , bool C, typename Entry >
pointer m::detail::the_condition_entry_iterator< Actual, C, Entry >::operator-> ( ) const
inline

◆ operator==()

template<typename Actual , bool C, typename Entry >
bool m::detail::the_condition_entry_iterator< Actual, C, Entry >::operator== ( const the_condition_entry_iterator< Actual, C, Entry > &  other) const
inline

Field Documentation

◆ CRTPBaseType< ConcreteType, B, TParams... >

friend m::crtp_boolean< Actual , the_condition_entry_iterator , B, TParams >::the_condition_entry_iterator < Actual , B, TParams... >
privateinherited

Definition at line 72 of file crtp.hpp.

◆ IsConst

template<typename Actual , bool C, typename Entry >
constexpr bool m::detail::the_condition_entry_iterator< Actual, C, Entry >::IsConst = C
staticconstexpr

Definition at line 45 of file PhysicalPlanTable.hpp.


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