Wayverb
wayverb::combined::model::owning_member< Derived, DataMembers > Class Template Reference
Inheritance diagram for wayverb::combined::model::owning_member< Derived, DataMembers >:
wayverb::combined::model::basic_member< Derived >

Public Types

using derived_type = Derived
 
using base_type = owning_member< Derived, DataMembers... >
 
- Public Types inherited from wayverb::combined::model::basic_member< Derived >
using derived_type = Derived
 
using base_type = basic_member< Derived >
 
using on_change = util::event< Derived & >
 
using connection = typename on_change::connection
 
using scoped_connection = typename on_change::scoped_connection
 
using callback_type = typename on_change::callback_type
 

Public Member Functions

 owning_member ()
 
 owning_member (const DataMembers &...data_members)
 
 owning_member (const owning_member &other)
 
owning_memberoperator= (const owning_member &other)
 
template<typename Archive >
void serialize (Archive &archive)
 
bool operator== (const owning_member &other) const
 
bool operator!= (const owning_member &other) const
 
- Public Member Functions inherited from wayverb::combined::model::basic_member< Derived >
 basic_member (const basic_member &)
 
basic_memberoperator= (const basic_member &)
 
connection connect (callback_type t)
 
void notify ()
 
size_t connections () const
 

Protected Member Functions

template<size_t I>
const auto & get () const &
 
template<size_t I>
auto & get ()&
 
template<typename T >
const auto & get () const &
 
template<typename T >
auto & get ()&
 

Constructor & Destructor Documentation

template<typename Derived, typename... DataMembers>
wayverb::combined::model::owning_member< Derived, DataMembers >::owning_member ( )
inline

Sets up each connection to forward to this object. Default-constructs members.

template<typename Derived, typename... DataMembers>
wayverb::combined::model::owning_member< Derived, DataMembers >::owning_member ( const DataMembers &...  data_members)
inlineexplicit

Sets up each connection to forward to this object. Assumes ownership of passed-in objects.

template<typename Derived, typename... DataMembers>
wayverb::combined::model::owning_member< Derived, DataMembers >::owning_member ( const owning_member< Derived, DataMembers > &  other)
inline

Sets up each connection to forward to this object. Deep-copies content of other object.

Member Function Documentation

template<typename Derived, typename... DataMembers>
owning_member& wayverb::combined::model::owning_member< Derived, DataMembers >::operator= ( const owning_member< Derived, DataMembers > &  other)
inline

Not strongly exception-safe. Elementwise deep copy from other to this. Subclasses should call notify afterwards.

template<typename Derived, typename... DataMembers>
template<typename Archive >
void wayverb::combined::model::owning_member< Derived, DataMembers >::serialize ( Archive &  archive)
inline

We don't really want to serialize each persistent_connection. Instead, we directly serialize the pointed-to items.


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