Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
Stroika::Foundation::Common::WriteOnlyProperty< T > Class Template Reference

#include <Property.h>

Inheritance diagram for Stroika::Foundation::Common::WriteOnlyProperty< T >:
Stroika::Foundation::Common::Property< forward_list< PropertyReadEventHandler > & > Stroika::Foundation::Common::Property< forward_list< PropertyChangedEventHandler > & > Stroika::Foundation::Common::Property< Stroika::Foundation::Containers::Mapping< Stroika::Foundation::Characters::String, Stroika::Foundation::Characters::String > > Stroika::Foundation::Common::Property< Stroika::Foundation::Containers::Collection< Stroika::Foundation::IO::Network::HTTP::Cookie > > Stroika::Foundation::Common::Property< optional< ContentEncodings > > Stroika::Foundation::Common::Property< optional< Stroika::Foundation::Characters::String > > Stroika::Foundation::Common::Property< optional< Stroika::Foundation::Containers::Set< Stroika::Foundation::Characters::String > > > Stroika::Foundation::Common::Property< optional< Stroika::Foundation::IO::Network::HTTP::CacheControl > > Stroika::Foundation::Common::Property< optional< ConnectionValue > > Stroika::Foundation::Common::Property< optional< uint64_t > > Stroika::Foundation::Common::Property< optional< Stroika::Foundation::DataExchange::InternetMediaType > > Stroika::Foundation::Common::Property< optional< Time::DateTime > > Stroika::Foundation::Common::Property< Stroika::Foundation::IO::Network::HTTP::CookieList > Stroika::Foundation::Common::Property< optional< Stroika::Foundation::IO::Network::HTTP::ETag > > Stroika::Foundation::Common::Property< optional< Stroika::Foundation::IO::Network::HTTP::IfNoneMatch > > Stroika::Foundation::Common::Property< optional< Stroika::Foundation::IO::Network::HTTP::KeepAlive > > Stroika::Foundation::Common::Property< optional< Stroika::Foundation::IO::Network::URI > > Stroika::Foundation::Common::Property< optional< TransferEncodings > > Stroika::Foundation::Common::Property< Stroika::Foundation::Characters::String > Stroika::Foundation::Common::Property< Stroika::Foundation::IO::Network::URI > Stroika::Foundation::Common::Property< Stroika::Foundation::IO::Network::HTTP::Headers & > Stroika::Foundation::Common::Property< Status > Stroika::Foundation::Common::Property< tuple< Status, optional< Stroika::Foundation::Characters::String > > > Stroika::Foundation::Common::Property< Stroika::Foundation::Time::Duration > Stroika::Foundation::Common::Property< Stroika::Foundation::Containers::Set< Stroika::Frameworks::SystemPerformance::Instrument > > Stroika::Foundation::Common::Property< Stroika::Foundation::Containers::Collection< Stroika::Foundation::Execution::Function > > Stroika::Foundation::Common::Property< Stroika::Foundation::Containers::Collection< Stroika::Frameworks::SystemPerformance::CaptureSet > > Stroika::Foundation::Common::Property< shared_ptr< Stroika::Frameworks::SystemPerformance::Instrument::ICaptureContext > > Stroika::Foundation::Common::Property< Stroika::Foundation::Containers::Sequence< Stroika::Frameworks::WebServer::Interceptor > > Stroika::Foundation::Common::Property< optional< Stroika::Frameworks::WebServer::Interceptor > > Stroika::Foundation::Common::Property< bool > Stroika::Foundation::Common::Property< optional< size_t > > Stroika::Foundation::Common::Property< optional< HTTP::ContentEncodings > > Stroika::Foundation::Common::Property< Characters::CodePage >

Public Member Functions

 WriteOnlyProperty ()=delete
 
nonvirtual WriteOnlyPropertyoperator= (ArgByValueType< T > value)
 
nonvirtual void Set (ArgByValueType< T > value)
 
nonvirtual void operator() (ArgByValueType< T > value)
 

Detailed Description

template<typename T>
class Stroika::Foundation::Common::WriteOnlyProperty< T >

Implement C#-like syntax for write-only properties (syntactically like data members but backed by a setter function)

Note
Typically not used - use Property
ANYHOW - see @Property for design overview
Thread-Safety SAME AS T/SETTER - all methods have exactly the thread safety of the underlying SETTER

Definition at line 209 of file Property.h.

Constructor & Destructor Documentation

◆ WriteOnlyProperty()

template<typename T >
Stroika::Foundation::Common::WriteOnlyProperty< T >::WriteOnlyProperty ( )
delete

WriteOnlyProperty are NOT movable, nor copy constructible: the data doesn't logically exist in the property itself, but in its relationship to some parent object; if it were copied, it might be copied TO some place that didn't have an appropriate enclosing object.

Member Function Documentation

◆ operator=()

template<typename T >
auto Stroika::Foundation::Common::WriteOnlyProperty< T >::operator= ( ArgByValueType< T >  value)

You can assign a value of the underlying type, but we do NOT support operator=(WriteOnlyProperty) because we cannot generically read from a write-only property to copy its value.

Definition at line 82 of file Property.inl.

◆ Set()

template<typename T >
void Stroika::Foundation::Common::WriteOnlyProperty< T >::Set ( ArgByValueType< T >  value)

Alternate syntax for setting the property value.

Definition at line 72 of file Property.inl.

◆ operator()()

template<typename T >
void Stroika::Foundation::Common::WriteOnlyProperty< T >::operator() ( ArgByValueType< T >  value)

Alternate syntax for setting the property value.

Definition at line 77 of file Property.inl.


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