YOrch 1.0.0
Loading...
Searching...
No Matches
yorch::detail::typed_slot< T, Policy > Struct Template Reference

#include <typed_slot.hpp>

Public Member Functions

 typed_slot ()=default
 
 typed_slot (const typed_slot &)=delete
 
typed_slotoperator= (const typed_slot &)=delete
 
 typed_slot (typed_slot &&)=delete
 
typed_slotoperator= (typed_slot &&)=delete
 
 ~typed_slot ()=default
 
template<typename... Args>
constexpr Templace (Args &&... args) noexcept(noexcept(storage_.emplace(std::forward< Args >(args)...)))
 
constexpr Tget () &noexcept
 
constexpr const Tget () const &noexcept
 
constexpr void destroy () noexcept
 
constexpr bool has_value () const noexcept
 
constexpr std::byte * raw_storage () noexcept
 
constexpr const std::byte * raw_storage () const noexcept
 
constexpr boolengaged_ptr () noexcept
 
constexpr const boolengaged_ptr () const noexcept
 

Static Public Member Functions

static constexpr std::size_t * owner_node_ptr () noexcept
 

Static Public Attributes

static constexpr slot_physical_policy physical_policy
 

Detailed Description

template<typename T, slot_logical_policy Policy = slot_logical_policy::maybe_payload>
struct yorch::detail::typed_slot< T, Policy >

Definition at line 15 of file typed_slot.hpp.

Constructor & Destructor Documentation

◆ typed_slot() [1/3]

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
yorch::detail::typed_slot< T, Policy >::typed_slot ( )
default

◆ typed_slot() [2/3]

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
yorch::detail::typed_slot< T, Policy >::typed_slot ( const typed_slot< T, Policy > &  )
delete

◆ typed_slot() [3/3]

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
yorch::detail::typed_slot< T, Policy >::typed_slot ( typed_slot< T, Policy > &&  )
delete

◆ ~typed_slot()

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
yorch::detail::typed_slot< T, Policy >::~typed_slot ( )
default

Member Function Documentation

◆ destroy()

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
constexpr void yorch::detail::typed_slot< T, Policy >::destroy ( )
inlineconstexprnoexcept

Definition at line 49 of file typed_slot.hpp.

◆ emplace()

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
template<typename... Args>
constexpr T & yorch::detail::typed_slot< T, Policy >::emplace ( Args &&...  args)
inlineconstexprnoexcept

Definition at line 36 of file typed_slot.hpp.

◆ engaged_ptr() [1/2]

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
constexpr const bool * yorch::detail::typed_slot< T, Policy >::engaged_ptr ( ) const
inlineconstexprnoexcept

Definition at line 69 of file typed_slot.hpp.

◆ engaged_ptr() [2/2]

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
constexpr bool * yorch::detail::typed_slot< T, Policy >::engaged_ptr ( )
inlineconstexprnoexcept

Definition at line 65 of file typed_slot.hpp.

◆ get() [1/2]

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
constexpr T & yorch::detail::typed_slot< T, Policy >::get ( ) &
inlineconstexprnoexcept

Definition at line 41 of file typed_slot.hpp.

◆ get() [2/2]

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
constexpr const T & yorch::detail::typed_slot< T, Policy >::get ( ) const &
inlineconstexprnoexcept

Definition at line 45 of file typed_slot.hpp.

◆ has_value()

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
constexpr bool yorch::detail::typed_slot< T, Policy >::has_value ( ) const
inlineconstexprnoexcept

Definition at line 53 of file typed_slot.hpp.

◆ operator=() [1/2]

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
typed_slot & yorch::detail::typed_slot< T, Policy >::operator= ( const typed_slot< T, Policy > &  )
delete

◆ operator=() [2/2]

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
typed_slot & yorch::detail::typed_slot< T, Policy >::operator= ( typed_slot< T, Policy > &&  )
delete

◆ owner_node_ptr()

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
static constexpr std::size_t * yorch::detail::typed_slot< T, Policy >::owner_node_ptr ( )
inlinestaticconstexprnoexcept

Definition at line 73 of file typed_slot.hpp.

◆ raw_storage() [1/2]

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
constexpr const std::byte * yorch::detail::typed_slot< T, Policy >::raw_storage ( ) const
inlineconstexprnoexcept

Definition at line 61 of file typed_slot.hpp.

◆ raw_storage() [2/2]

template<typename T , slot_logical_policy Policy = slot_logical_policy::maybe_payload>
constexpr std::byte * yorch::detail::typed_slot< T, Policy >::raw_storage ( )
inlineconstexprnoexcept

Definition at line 57 of file typed_slot.hpp.

Member Data Documentation

◆ physical_policy


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