kblib 0.2.3
General utilities library for modern C++
kblib::transform_engine< URBG, Transform > Class Template Reference

#include <kblib/random.h>

Inheritance diagram for kblib::transform_engine< URBG, Transform >:
Collaboration diagram for kblib::transform_engine< URBG, Transform >:

Public Types

using result_type = typename Transform::result_type
 

Public Member Functions

constexpr transform_engine ()=default
 
constexpr transform_engine (const transform_engine &) noexcept(std::is_nothrow_copy_constructible< URBG >::value)=default
 
constexpr transform_engine (transform_engine &&) noexcept(std::is_nothrow_move_constructible< URBG >::value)=default
 
constexpr transform_engine (result_type s)
 
template<typename SSeq , typename = enable_if_t<! std::is_same<SSeq, transform_engine>::value>>
constexpr transform_engine (SSeq &s)
 
auto operator= (const transform_engine &) -> transform_engine &=delete
 
auto operator= (transform_engine &&) -> transform_engine &=delete
 
 ~transform_engine ()=default
 
constexpr auto operator() () noexcept -> result_type
 

Static Public Member Functions

static constexpr auto min () noexcept -> result_type
 
static constexpr auto max () noexcept -> result_type
 

Friends

constexpr auto operator== (const transform_engine &lhs, const transform_engine &rhs) noexcept -> bool
 
constexpr auto operator!= (const transform_engine &lhs, const transform_engine &rhs) noexcept -> bool
 
constexpr auto operator<< (std::ostream &os, const transform_engine &e) -> std::ostream &
 
constexpr auto operator>> (std::istream &is, transform_engine &e) -> std::istream &
 

Detailed Description

template<typename URBG, typename Transform>
class kblib::transform_engine< URBG, Transform >

Definition at line 218 of file random.h.

Member Typedef Documentation

◆ result_type

template<typename URBG , typename Transform >
using kblib::transform_engine< URBG, Transform >::result_type = typename Transform::result_type

Definition at line 231 of file random.h.

Constructor & Destructor Documentation

◆ transform_engine() [1/5]

template<typename URBG , typename Transform >
constexpr kblib::transform_engine< URBG, Transform >::transform_engine ( )
constexprdefault

◆ transform_engine() [2/5]

template<typename URBG , typename Transform >
constexpr kblib::transform_engine< URBG, Transform >::transform_engine ( const transform_engine< URBG, Transform > &  ) const
constexprdefaultnoexcept

◆ transform_engine() [3/5]

template<typename URBG , typename Transform >
constexpr kblib::transform_engine< URBG, Transform >::transform_engine ( transform_engine< URBG, Transform > &&  ) const
constexprdefaultnoexcept

◆ transform_engine() [4/5]

template<typename URBG , typename Transform >
constexpr kblib::transform_engine< URBG, Transform >::transform_engine ( result_type  s)
inlineconstexpr

Definition at line 240 of file random.h.

◆ transform_engine() [5/5]

template<typename URBG , typename Transform >
template<typename SSeq , typename = enable_if_t<! std::is_same<SSeq, transform_engine>::value>>
constexpr kblib::transform_engine< URBG, Transform >::transform_engine ( SSeq &  s)
inlineconstexpr

Definition at line 245 of file random.h.

◆ ~transform_engine()

template<typename URBG , typename Transform >
kblib::transform_engine< URBG, Transform >::~transform_engine ( )
default

Member Function Documentation

◆ max()

template<typename URBG , typename Transform >
static constexpr auto kblib::transform_engine< URBG, Transform >::max ( ) -> result_type
inlinestaticconstexprnoexcept

Definition at line 266 of file random.h.

◆ min()

template<typename URBG , typename Transform >
static constexpr auto kblib::transform_engine< URBG, Transform >::min ( ) -> result_type
inlinestaticconstexprnoexcept

Definition at line 263 of file random.h.

◆ operator()()

template<typename URBG , typename Transform >
constexpr auto kblib::transform_engine< URBG, Transform >::operator() ( ) -> result_type
inlineconstexprnoexcept

Definition at line 255 of file random.h.

◆ operator=() [1/2]

template<typename URBG , typename Transform >
auto kblib::transform_engine< URBG, Transform >::operator= ( const transform_engine< URBG, Transform > &  ) -> transform_engine &=delete
delete

◆ operator=() [2/2]

template<typename URBG , typename Transform >
auto kblib::transform_engine< URBG, Transform >::operator= ( transform_engine< URBG, Transform > &&  ) -> transform_engine &=delete
delete

Friends And Related Function Documentation

◆ operator!=

template<typename URBG , typename Transform >
constexpr auto operator!= ( const transform_engine< URBG, Transform > &  lhs,
const transform_engine< URBG, Transform > &  rhs 
) -> bool
friend

Definition at line 275 of file random.h.

◆ operator<<

template<typename URBG , typename Transform >
constexpr auto operator<< ( std::ostream &  os,
const transform_engine< URBG, Transform > &  e 
) -> std::ostream&
friend

Definition at line 281 of file random.h.

◆ operator==

template<typename URBG , typename Transform >
constexpr auto operator== ( const transform_engine< URBG, Transform > &  lhs,
const transform_engine< URBG, Transform > &  rhs 
) -> bool
friend

Definition at line 270 of file random.h.

◆ operator>>

template<typename URBG , typename Transform >
constexpr auto operator>> ( std::istream &  is,
transform_engine< URBG, Transform > &  e 
) -> std::istream&
friend

Definition at line 285 of file random.h.


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