All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Pages
Classes | Namespaces | Macros | Typedefs
type_functions.hpp File Reference
#include <boost/range.hpp>
#include <type_traits>
#include <utility>
#include <tuple>

Go to the source code of this file.

Classes

struct  paal::detail::k_tuple< T, k >
 
struct  paal::detail::k_tuple< T, 1 >
 

Namespaces

 paal
 global namespace of project.
 
 paal::detail
 Detail namespace.
 

Macros

#define puretype(t)   typename std::decay<decltype(t)>::type
 for given expression returns its type with removed const and reference
 

Typedefs

template<typename T >
using paal::decay_t = typename std::decay< T >::type
 short version of std::decay
 
template<typename Range >
using paal::range_to_ref_t = typename boost::range_reference< Range >::type
 for given range returns type of its reference
 
template<typename Range >
using paal::range_to_elem_t = typename boost::range_value< Range >::type
 for given range returns type of its element
 
template<typename Range >
using paal::range_to_diff_type_t = typename boost::range_difference< Range >::type
 for given collection returns its difference type
 
template<typename T , int k>
using paal::k_tuple_t = typename detail::k_tuple< T, k >::type
 returns tuple consisting of k times type T
 
template<class F >
using paal::pure_result_of_t = typename std::decay< typename std::result_of< F >::type >::type
 return pure type of function (decays const and reference)
 
template<typename T1 , typename T2 >
using paal::promote_with_t = puretype(std::declval< T1 >()+std::declval< T2 >())
 return type obtained after adding values of given types
 
template<typename T >
using paal::promote_with_double_t = promote_with_t< T, double >
 return type after promotion with double
 

Detailed Description

Author
Piotr Wygocki
Version
1.0
Date
2013-02-01

Definition in file type_functions.hpp.