Home work №3 "C++ Developer. Professional" OTUS  0.0.1
Classes | Typedefs | Functions
tmp_ Namespace Reference

Classes

class  Integral_type_printer
 

Typedefs

template<typename T >
using enable_integral_t = std::enable_if_t< std::is_integral_v< T > &&!std::is_same_v< T, bool > >
 
template<typename T , template< typename > class Cont>
using enable_containers_t = std::enable_if_t< std::is_same_v< std::decay_t< Cont< T > >, std::vector< T > >||std::is_same_v< std::decay_t< Cont< T > >, std::list< T > >>
 
template<typename T >
using enable_string_t = std::enable_if_t< std::is_same_v< std::decay_t< T >, std::string > >
 
template<typename T , typename... Tail>
using enable_all_the_same_t = std::enable_if_t< std::conjunction_v< std::is_same< T, Tail >... > >
 

Functions

template<typename T , typename ... Ts>
void print_args (std::ostream &cur_stream, const T &first_arg, const Ts &...tail_args)
 
template<typename ... Ts>
std::ostream & operator<< (std::ostream &cur_stream, const std::tuple< Ts... > &in_parameter)
 

Typedef Documentation

◆ enable_all_the_same_t

template<typename T , typename... Tail>
using tmp_::enable_all_the_same_t = typedef std::enable_if_t<std::conjunction_v<std::is_same<T, Tail>...> >

◆ enable_containers_t

template<typename T , template< typename > class Cont>
using tmp_::enable_containers_t = typedef std::enable_if_t<std::is_same_v<std::decay_t<Cont<T> >, std::vector<T> > || std::is_same_v<std::decay_t<Cont<T> >, std::list<T> >>

◆ enable_integral_t

template<typename T >
using tmp_::enable_integral_t = typedef std::enable_if_t<std::is_integral_v<T> && !std::is_same_v<T, bool> >

◆ enable_string_t

template<typename T >
using tmp_::enable_string_t = typedef std::enable_if_t<std::is_same_v<std::decay_t<T>, std::string> >

Function Documentation

◆ operator<<()

template<typename ... Ts>
std::ostream& tmp_::operator<< ( std::ostream &  cur_stream,
const std::tuple< Ts... > &  in_parameter 
)

◆ print_args()

template<typename T , typename ... Ts>
void tmp_::print_args ( std::ostream &  cur_stream,
const T &  first_arg,
const Ts &...  tail_args 
)