mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Private Attributes | Friends
m::AdjacencyMatrix::Proxy< C > Struct Template Reference

A proxy to access single entries in the AdjacencyMatrix. More...

#include <AdjacencyMatrix.hpp>

Collaboration diagram for m::AdjacencyMatrix::Proxy< C >:
[legend]

Public Member Functions

 operator bool () const
 
template<bool C_ = Is_Const>
requires (not C_)
Proxyoperator= (bool val)
 
Proxyoperator= (const Proxy< false > &other)
 
Proxyoperator= (const Proxy< true > &other)
 
Proxyoperator= (Proxy< false > &&other)
 
Proxyoperator= (Proxy< true > &&other)
 

Static Public Attributes

static constexpr bool Is_Const = C
 

Private Types

using reference_type = std::conditional_t< Is_Const, const AdjacencyMatrix &, AdjacencyMatrix & >
 

Private Member Functions

 Proxy (reference_type M, std::size_t i, std::size_t j)
 
 Proxy (Proxy &&)=default
 

Private Attributes

reference_type M_
 
std::size_t i_
 
std::size_t j_
 

Friends

struct AdjacencyMatrix
 

Detailed Description

template<bool C>
struct m::AdjacencyMatrix::Proxy< C >

A proxy to access single entries in the AdjacencyMatrix.

Definition at line 14 of file AdjacencyMatrix.hpp.

Member Typedef Documentation

◆ reference_type

template<bool C>
using m::AdjacencyMatrix::Proxy< C >::reference_type = std::conditional_t<Is_Const, const AdjacencyMatrix&, AdjacencyMatrix&>
private

Definition at line 21 of file AdjacencyMatrix.hpp.

Constructor & Destructor Documentation

◆ Proxy() [1/2]

template<bool C>
m::AdjacencyMatrix::Proxy< C >::Proxy ( reference_type  M,
std::size_t  i,
std::size_t  j 
)
inlineprivate

Definition at line 27 of file AdjacencyMatrix.hpp.

References M_insist.

◆ Proxy() [2/2]

template<bool C>
m::AdjacencyMatrix::Proxy< C >::Proxy ( Proxy< C > &&  )
privatedefault

Member Function Documentation

◆ operator bool()

template<bool C>
m::AdjacencyMatrix::Proxy< C >::operator bool ( ) const
inline

Definition at line 34 of file AdjacencyMatrix.hpp.

◆ operator=() [1/5]

template<bool C>
template<bool C_ = Is_Const>
requires (not C_)
Proxy & m::AdjacencyMatrix::Proxy< C >::operator= ( bool  val)
inline

Definition at line 38 of file AdjacencyMatrix.hpp.

◆ operator=() [2/5]

template<bool C>
Proxy & m::AdjacencyMatrix::Proxy< C >::operator= ( const Proxy< false > &  other)
inline

Definition at line 40 of file AdjacencyMatrix.hpp.

◆ operator=() [3/5]

template<bool C>
Proxy & m::AdjacencyMatrix::Proxy< C >::operator= ( const Proxy< true > &  other)
inline

Definition at line 45 of file AdjacencyMatrix.hpp.

◆ operator=() [4/5]

template<bool C>
Proxy & m::AdjacencyMatrix::Proxy< C >::operator= ( Proxy< false > &&  other)
inline

Definition at line 50 of file AdjacencyMatrix.hpp.

◆ operator=() [5/5]

template<bool C>
Proxy & m::AdjacencyMatrix::Proxy< C >::operator= ( Proxy< true > &&  other)
inline

Definition at line 54 of file AdjacencyMatrix.hpp.

Friends And Related Function Documentation

◆ AdjacencyMatrix

template<bool C>
friend struct AdjacencyMatrix
friend

Definition at line 16 of file AdjacencyMatrix.hpp.

Field Documentation

◆ i_

template<bool C>
std::size_t m::AdjacencyMatrix::Proxy< C >::i_
private

Definition at line 24 of file AdjacencyMatrix.hpp.

◆ Is_Const

template<bool C>
constexpr bool m::AdjacencyMatrix::Proxy< C >::Is_Const = C
staticconstexpr

Definition at line 18 of file AdjacencyMatrix.hpp.

◆ j_

template<bool C>
std::size_t m::AdjacencyMatrix::Proxy< C >::j_
private

Definition at line 25 of file AdjacencyMatrix.hpp.

◆ M_

template<bool C>
reference_type m::AdjacencyMatrix::Proxy< C >::M_
private

Definition at line 23 of file AdjacencyMatrix.hpp.


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