aether::netcode::transcode::transform_compose< T1, T2, > Struct Template Referenceabstract

#include <transcode.hh>

Public Types

using Output = T2::Output
 
using Input = T1::Input
 

Public Member Functions

bool apply (const typename T1::Input &input, typename T2::Output &output) override final
 
bool invert (const typename T2::Output &input, typename T1::Input &output) override final
 
virtual bool apply (const T1::Input &input, T2::Output &output)=0
 transform input into output More...
 
virtual bool invert (const T2::Output &input, T1::Input &output)=0
 invert the tranformation More...
 

Public Attributes

T1 t1
 
T2 t2
 

Member Typedef Documentation

using aether::netcode::transcode::transform_base< T1::Input , T2::Output >::Input = T1::Input
inherited
using aether::netcode::transcode::transform_base< T1::Input , T2::Output >::Output = T2::Output
inherited

Member Function Documentation

virtual bool aether::netcode::transcode::transform_base< T1::Input , T2::Output >::apply ( const T1::Input &  input,
T2::Output &  output 
)
pure virtualinherited

transform input into output

Returns
whether the input is valid
template<typename T1 , typename T2 , std::enable_if_t< std::is_same< typename T1::Output, typename T2::Input >::value, int > = 0>
bool aether::netcode::transcode::transform_compose< T1, T2, >::apply ( const typename T1::Input &  input,
typename T2::Output &  output 
)
inlinefinaloverride
virtual bool aether::netcode::transcode::transform_base< T1::Input , T2::Output >::invert ( const T2::Output &  input,
T1::Input &  output 
)
pure virtualinherited

invert the tranformation

Returns
whehter input is valid
template<typename T1 , typename T2 , std::enable_if_t< std::is_same< typename T1::Output, typename T2::Input >::value, int > = 0>
bool aether::netcode::transcode::transform_compose< T1, T2, >::invert ( const typename T2::Output &  input,
typename T1::Input &  output 
)
inlinefinaloverride

Member Data Documentation

template<typename T1 , typename T2 , std::enable_if_t< std::is_same< typename T1::Output, typename T2::Input >::value, int > = 0>
T1 aether::netcode::transcode::transform_compose< T1, T2, >::t1
template<typename T1 , typename T2 , std::enable_if_t< std::is_same< typename T1::Output, typename T2::Input >::value, int > = 0>
T2 aether::netcode::transcode::transform_compose< T1, T2, >::t2