A library for working with phylogenetic and population genetic data.
v0.27.0
type_traits.hpp File Reference
#include <iterator>
#include <type_traits>

Go to the source code of this file.

Classes

struct  has_input_iterator_properties< T, class >
 
struct  has_input_iterator_properties< T, void_t< decltype(++std::declval< T & >()), decltype(*std::declval< T & >()), decltype(std::declval< T & >()==std::declval< T & >())> >
 
struct  is_bidirectional_iterator_tag_based< T, class >
 Return whether a type is at least a bidirectional iterator. More...
 
struct  is_bidirectional_iterator_tag_based< T, typename std::enable_if< std::is_base_of< std::bidirectional_iterator_tag, typename std::iterator_traits< T >::iterator_category >::value >::type >
 Return whether a type is at least a bidirectional iterator. More...
 
struct  is_forward_iterator_tag_based< T, class >
 Return whether a type is at least a forward iterator. More...
 
struct  is_forward_iterator_tag_based< T, typename std::enable_if< std::is_base_of< std::forward_iterator_tag, typename std::iterator_traits< T >::iterator_category >::value >::type >
 Return whether a type is at least a forward iterator. More...
 
struct  is_input_iterator_tag_based< T, class >
 Return whether a type is an at least input iterator. More...
 
struct  is_input_iterator_tag_based< T, typename std::enable_if< std::is_base_of< std::input_iterator_tag, typename std::iterator_traits< T >::iterator_category >::value >::type >
 Return whether a type is an at least input iterator. More...
 
struct  is_iterator_tag_based< T, typename >
 Return whether a type is an iterator. More...
 
struct  is_iterator_tag_based< T, typename std::enable_if< std::is_base_of< std::input_iterator_tag, typename std::iterator_traits< T >::iterator_category >::value||std::is_same< std::output_iterator_tag, typename std::iterator_traits< T >::iterator_category >::value >::type >
 Return whether a type is an iterator. More...
 
struct  is_output_iterator_tag_based< T, class >
 Return whether a type is an at least output iterator. More...
 
struct  is_output_iterator_tag_based< T, typename std::enable_if< std::is_base_of< std::output_iterator_tag, typename std::iterator_traits< T >::iterator_category >::value >::type >
 Return whether a type is an at least output iterator. More...
 
struct  is_random_access_iterator_tag_based< T, class >
 Return whether a type is at least a random access iterator. More...
 
struct  is_random_access_iterator_tag_based< T, typename std::enable_if< std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< T >::iterator_category >::value >::type >
 Return whether a type is at least a random access iterator. More...
 

Namespaces

 genesis
 Container namespace for all symbols of genesis in order to keep them separate when used as a library.
 
 genesis::utils
 

Typedefs

template<typename... >
using void_t = void
 Define void type for C++11. More...