Tatooine
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes | List of all members
tatooine::handle< Child, Int > Struct Template Reference

#include <handle.h>

Inheritance diagram for tatooine::handle< Child, Int >:
[legend]
Collaboration diagram for tatooine::handle< Child, Int >:
[legend]

Public Types

using int_t = Int
 

Public Member Functions

constexpr handle ()
 
constexpr handle (integral auto const _i)
 
constexpr handle (handle const &)=default
 
constexpr handle (handle &&) noexcept=default
 
 ~handle ()=default
 
constexpr auto operator= (handle const &) -> handle &=default
 
constexpr auto operator= (integral auto const i) -> handle &
 
constexpr auto operator= (handle &&) noexcept -> handle &=default
 
constexpr auto operator<=> (handle< Child, Int > const &other) const =default
 
constexpr auto operator++ () -> auto &
 
constexpr auto operator++ (int)
 
constexpr auto operator-- () -> auto &
 
constexpr auto operator-- (int)
 
constexpr auto operator+= (integral auto const j)
 
constexpr auto operator-= (integral auto const j)
 
constexpr auto operator*= (integral auto const j)
 
constexpr auto operator/= (integral auto const j)
 
auto index () const
 
auto constexpr is_valid () const
 

Static Public Member Functions

static constexpr auto invalid ()
 

Static Public Attributes

static constexpr auto invalid_idx = std::numeric_limits<Int>::max()
 

Private Attributes

Int i {}
 

Member Typedef Documentation

◆ int_t

template<typename Child , unsigned_integral Int = std::size_t>
using tatooine::handle< Child, Int >::int_t = Int

Constructor & Destructor Documentation

◆ handle() [1/4]

template<typename Child , unsigned_integral Int = std::size_t>
constexpr tatooine::handle< Child, Int >::handle ( )
inlineconstexpr

◆ handle() [2/4]

template<typename Child , unsigned_integral Int = std::size_t>
constexpr tatooine::handle< Child, Int >::handle ( integral auto const  _i)
inlineexplicitconstexpr

◆ handle() [3/4]

template<typename Child , unsigned_integral Int = std::size_t>
constexpr tatooine::handle< Child, Int >::handle ( handle< Child, Int > const &  )
constexprdefault

◆ handle() [4/4]

template<typename Child , unsigned_integral Int = std::size_t>
constexpr tatooine::handle< Child, Int >::handle ( handle< Child, Int > &&  )
constexprdefaultnoexcept

◆ ~handle()

template<typename Child , unsigned_integral Int = std::size_t>
tatooine::handle< Child, Int >::~handle ( )
default

Member Function Documentation

◆ index()

template<typename Child , unsigned_integral Int = std::size_t>
auto tatooine::handle< Child, Int >::index ( ) const
inline

◆ invalid()

template<typename Child , unsigned_integral Int = std::size_t>
static constexpr auto tatooine::handle< Child, Int >::invalid ( )
inlinestaticconstexpr

◆ is_valid()

template<typename Child , unsigned_integral Int = std::size_t>
auto constexpr tatooine::handle< Child, Int >::is_valid ( ) const
inlineconstexpr

◆ operator*=()

template<typename Child , unsigned_integral Int = std::size_t>
constexpr auto tatooine::handle< Child, Int >::operator*= ( integral auto const  j)
inlineconstexpr

◆ operator++() [1/2]

template<typename Child , unsigned_integral Int = std::size_t>
constexpr auto tatooine::handle< Child, Int >::operator++ ( ) -> auto&
inlineconstexpr

◆ operator++() [2/2]

template<typename Child , unsigned_integral Int = std::size_t>
constexpr auto tatooine::handle< Child, Int >::operator++ ( int  )
inlineconstexpr

◆ operator+=()

template<typename Child , unsigned_integral Int = std::size_t>
constexpr auto tatooine::handle< Child, Int >::operator+= ( integral auto const  j)
inlineconstexpr

◆ operator--() [1/2]

template<typename Child , unsigned_integral Int = std::size_t>
constexpr auto tatooine::handle< Child, Int >::operator-- ( ) -> auto&
inlineconstexpr

◆ operator--() [2/2]

template<typename Child , unsigned_integral Int = std::size_t>
constexpr auto tatooine::handle< Child, Int >::operator-- ( int  )
inlineconstexpr

◆ operator-=()

template<typename Child , unsigned_integral Int = std::size_t>
constexpr auto tatooine::handle< Child, Int >::operator-= ( integral auto const  j)
inlineconstexpr

◆ operator/=()

template<typename Child , unsigned_integral Int = std::size_t>
constexpr auto tatooine::handle< Child, Int >::operator/= ( integral auto const  j)
inlineconstexpr

◆ operator<=>()

template<typename Child , unsigned_integral Int = std::size_t>
constexpr auto tatooine::handle< Child, Int >::operator<=> ( handle< Child, Int > const &  other) const
constexprdefault

◆ operator=() [1/3]

template<typename Child , unsigned_integral Int = std::size_t>
constexpr auto tatooine::handle< Child, Int >::operator= ( handle< Child, Int > &&  ) -> handle &=default
constexprdefaultnoexcept

◆ operator=() [2/3]

template<typename Child , unsigned_integral Int = std::size_t>
constexpr auto tatooine::handle< Child, Int >::operator= ( handle< Child, Int > const &  ) -> handle &=default
constexprdefault

◆ operator=() [3/3]

template<typename Child , unsigned_integral Int = std::size_t>
constexpr auto tatooine::handle< Child, Int >::operator= ( integral auto const  i) -> handle&
inlineconstexpr

Member Data Documentation

◆ i

template<typename Child , unsigned_integral Int = std::size_t>
Int tatooine::handle< Child, Int >::i {}
private

◆ invalid_idx

template<typename Child , unsigned_integral Int = std::size_t>
constexpr auto tatooine::handle< Child, Int >::invalid_idx = std::numeric_limits<Int>::max()
staticconstexpr

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