Krita Source Code Documentation
Loading...
Searching...
No Matches
KisLazyValueWrapper< T > Struct Template Reference

#include <KisLazyValueWrapper.h>

Public Types

using value_type = T
 

Public Member Functions

 KisLazyValueWrapper ()=default
 
 KisLazyValueWrapper (const KisLazyValueWrapper &rhs)=delete
 
 KisLazyValueWrapper (KisLazyValueWrapper &&rhs)=default
 
 KisLazyValueWrapper (std::function< value_type()> func)
 
 operator const value_type & () const
 
KisLazyValueWrapperoperator= (const KisLazyValueWrapper &rhs)=delete
 
KisLazyValueWrapperoperator= (KisLazyValueWrapper &&rhs)=default
 
 ~KisLazyValueWrapper ()=default
 

Public Attributes

value_type value {}
 

Detailed Description

template<typename T>
struct KisLazyValueWrapper< T >

A simple wrapper that creates a value from a functor on construction. It is not a "lazy value" class in a classic form, because it requires to be wrapped into KisLazyStorage to support atomic/thread-safe access.

Definition at line 17 of file KisLazyValueWrapper.h.

Member Typedef Documentation

◆ value_type

template<typename T >
using KisLazyValueWrapper< T >::value_type = T

Definition at line 19 of file KisLazyValueWrapper.h.

Constructor & Destructor Documentation

◆ KisLazyValueWrapper() [1/4]

template<typename T >
KisLazyValueWrapper< T >::KisLazyValueWrapper ( )
default

◆ KisLazyValueWrapper() [2/4]

template<typename T >
KisLazyValueWrapper< T >::KisLazyValueWrapper ( std::function< value_type()> func)
inlineexplicit

Definition at line 23 of file KisLazyValueWrapper.h.

23 {
24 value = func();
25 }

References KisLazyValueWrapper< T >::value.

◆ ~KisLazyValueWrapper()

template<typename T >
KisLazyValueWrapper< T >::~KisLazyValueWrapper ( )
default

◆ KisLazyValueWrapper() [3/4]

template<typename T >
KisLazyValueWrapper< T >::KisLazyValueWrapper ( const KisLazyValueWrapper< T > & rhs)
delete

◆ KisLazyValueWrapper() [4/4]

template<typename T >
KisLazyValueWrapper< T >::KisLazyValueWrapper ( KisLazyValueWrapper< T > && rhs)
default

Member Function Documentation

◆ operator const value_type &()

template<typename T >
KisLazyValueWrapper< T >::operator const value_type & ( ) const
inline

Definition at line 29 of file KisLazyValueWrapper.h.

29 {
30 return value;
31 }

References KisLazyValueWrapper< T >::value.

◆ operator=() [1/2]

template<typename T >
KisLazyValueWrapper & KisLazyValueWrapper< T >::operator= ( const KisLazyValueWrapper< T > & rhs)
delete

◆ operator=() [2/2]

template<typename T >
KisLazyValueWrapper & KisLazyValueWrapper< T >::operator= ( KisLazyValueWrapper< T > && rhs)
default

Member Data Documentation

◆ value

template<typename T >
value_type KisLazyValueWrapper< T >::value {}

Definition at line 39 of file KisLazyValueWrapper.h.

39{};

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