40 #include <type_traits> 44 # define GUM_CAST dynamic_cast 46 # define GUM_CAST static_cast 47 #endif // GUM_DEBUG_MODE 68 template <
typename T1,
typename T2 >
69 ostream& operator<<(ostream& stream, const pair< T1, T2 >& val);
78 template <
typename T0,
typename... T >
79 std::ostream&
operator<<(std::ostream& os,
const std::tuple< T0, T... >& t);
89 template <
typename T >
90 ostream& operator<<(ostream& stream, const vector< T >& val);
100 template <
typename T >
125 template <
typename T1,
typename T2 >
127 typename std::enable_if< !std::is_same< T1, T2 >::value,
int >::type;
143 bool Memcmp(
const void*
const _in,
const void*
const _out,
unsigned long size);
154 template <
typename T >
160 return (std::abs(t2) > 1e-5);
162 return (std::abs(t2 - t1) / t1 > 1e-5);
170 template <
typename T >
172 bool operator()(
const T* t1,
const T* t2) {
return (t1 != t2); }
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
bool hasUniqueElts(std::vector< T > const &x)
void __atexit()
Used for debug purpose.
bool Memcmp(const void *const _in, const void *const _out, unsigned long size)
Cross-platform replacement for memcmp.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Indicate whether two elements are (almost) different or not.
bool operator()(const T *t1, const T *t2)
ostream & operator<<(ostream &stream, const vector< T > &val)
'std::cout<<' operator for vectors.
typename std::enable_if< !std::is_same< T1, T2 >::value, int >::type forbidden_type
Forbidden_type<T1,T2> return the "int" type if T1 and T2 are of the same type, else nothing...
bool operator()(const T &t1, const T &t2)
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Implements a stream with the same behaviour as /dev/null.