CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
CASM_TMP.hh File Reference
#include <type_traits>
#include <cassert>
#include "casm/CASM_global_definitions.hh"

Go to the source code of this file.

Classes

struct  CASM::CASM_TMP::traits< T >
 
struct  CASM::CASM_TMP::make_void< Ts >
 Alias for void, to help SFINAE work. More...
 
struct  CASM::CASM_TMP::is_iterator< T, typename >
 Base type inherits from std::false_type if T is not iterator. More...
 
struct  CASM::CASM_TMP::is_iterator< T, void_t< decltype(++std::declval< T & >()), decltype(*std::declval< T & >()), decltype(std::declval< T & >()==std::declval< T & >()) > >
 Specialized case inherits from std::true_type if T is an iterator. More...
 
struct  CASM::CASM_TMP::IfIntegralTol< tol_type, IsIntegral >
 
struct  CASM::CASM_TMP::IfIntegralTol< tol_type, true >
 
struct  CASM::CASM_TMP::IfIntegralTol< tol_type, false >
 
struct  CASM::CASM_TMP::IntegralLessThan< value_type >
 
struct  CASM::CASM_TMP::FloatingPointLessThan< value_type >
 
struct  CASM::CASM_TMP::BracketAccess< Container, _value_type, _size_type >
 Helper Functor for Counter container access using operator[]. More...
 
struct  CASM::CASM_TMP::ParenthesesAccess< Container, _value_type, _size_type >
 Helper Functor for Counter container access using operator() More...
 

Namespaces

 CASM
 Main CASM namespace.
 
 CASM::CASM_TMP
 

Typedefs

template<typename... Ts>
using CASM::CASM_TMP::void_t = typename make_void< Ts...>::type
 Alias for void, to help SFINAE work. More...
 
template<typename T >
using CASM::CASM_TMP::enable_if_iterator = std::enable_if< is_iterator< T >::type::value, void >
 Template alias to enable a template function via SFINAE for any iterator. More...
 
template<typename T , typename V >
using CASM::CASM_TMP::enable_if_iterator_of = std::enable_if< is_iterator< T >::type::value &&std::is_same< typename std::iterator_traits< T >::value_type, V >::type::value, void >
 Template alias to enable a template function via SFINAE for an iterator with value_type V. More...
 
template<typename T >
using CASM::CASM_TMP::TypedTol = IfIntegralTol< T, std::is_integral< T >::value >
 
template<bool IsConst, typename T >
using CASM::CASM_TMP::ConstSwitch = typename std::conditional< IsConst, const T, T >::type
 
template<typename T >
using CASM::CASM_TMP::MuchLessThan = typename std::conditional< boost::is_integral< T >::value, IntegralLessThan< T >, FloatingPointLessThan< T > >::type
 

Functions

template<typename... Args>
void CASM::CASM_TMP::ignore_returnvalues (Args &&...)
 Enables calling a function on each argument in a parameter pack. More...