GA::kit v0.3
G&A's in-house C++ application framework
Loading...
Searching...
No Matches
sigslot::detail::copy_on_write< T > Class Template Reference

#include <sigslot.hpp>

Public Types

using element_type = T
 

Public Member Functions

 copy_on_write ()
 
template<typename U >
 copy_on_write (U &&x, std::enable_if_t<!std::is_same< std::decay_t< U >, copy_on_write >::value > *=nullptr)
 
 copy_on_write (const copy_on_write &x) noexcept
 
 copy_on_write (copy_on_write &&x) noexcept
 
 ~copy_on_write ()
 
copy_on_writeoperator= (const copy_on_write &x) noexcept
 
copy_on_writeoperator= (copy_on_write &&x) noexcept
 
element_typewrite ()
 
const element_typeread () const noexcept
 

Friends

void swap (copy_on_write &x, copy_on_write &y) noexcept
 

Detailed Description

template<typename T>
class sigslot::detail::copy_on_write< T >

A simple copy on write container that will be used to improve slot lists access efficiency in a multithreaded context.

Member Typedef Documentation

◆ element_type

template<typename T >
using sigslot::detail::copy_on_write< T >::element_type = T

Constructor & Destructor Documentation

◆ copy_on_write() [1/4]

template<typename T >
sigslot::detail::copy_on_write< T >::copy_on_write ( )
inline

◆ copy_on_write() [2/4]

template<typename T >
template<typename U >
sigslot::detail::copy_on_write< T >::copy_on_write ( U &&  x,
std::enable_if_t<!std::is_same< std::decay_t< U >, copy_on_write< T > >::value > *  = nullptr 
)
inlineexplicit

◆ copy_on_write() [3/4]

template<typename T >
sigslot::detail::copy_on_write< T >::copy_on_write ( const copy_on_write< T > &  x)
inlinenoexcept

◆ copy_on_write() [4/4]

template<typename T >
sigslot::detail::copy_on_write< T >::copy_on_write ( copy_on_write< T > &&  x)
inlinenoexcept

◆ ~copy_on_write()

template<typename T >
sigslot::detail::copy_on_write< T >::~copy_on_write ( )
inline

Member Function Documentation

◆ operator=() [1/2]

template<typename T >
copy_on_write & sigslot::detail::copy_on_write< T >::operator= ( const copy_on_write< T > &  x)
inlinenoexcept

◆ operator=() [2/2]

template<typename T >
copy_on_write & sigslot::detail::copy_on_write< T >::operator= ( copy_on_write< T > &&  x)
inlinenoexcept

◆ read()

template<typename T >
const element_type & sigslot::detail::copy_on_write< T >::read ( ) const
inlinenoexcept

◆ write()

template<typename T >
element_type & sigslot::detail::copy_on_write< T >::write ( )
inline

Friends And Related Function Documentation

◆ swap

template<typename T >
void swap ( copy_on_write< T > &  x,
copy_on_write< T > &  y 
)
friend

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