aimstil  5.0.5
globalTraits.h File Reference
#include <algorithm>
#include <cassert>
#include <cmath>
#include <functional>
#include <limits>
#include <vector>
#include <boost/array.hpp>
#include <boost/call_traits.hpp>
#include <boost/type_traits.hpp>
#include <boost/utility/enable_if.hpp>
#include "til/til_declarations.h"
#include "til/is_traits.h"
#include "til/templateTools.h"
#include "til/TExpr.h"
#include "til/traits.h"
#include "stditerator.h"
Include dependency graph for globalTraits.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  til::functor::Size
 
class  til::Loop_mapPairs< TMap1, TMap2, TFunctor >
 Apply a functor to two sparse vectors only where they both have data. More...
 
class  til::Loop_mapEach< TMap1, TMap2, TFunctor >
 Apply a functor to a pair of sparse vectors where either one has data. More...
 
class  til::Find_mapEach< TMap1, TMap2, TFunctor >
 

Namespaces

 til
 Belongs to package Box Do not include directly, include til/Box.h instead.
 
 til::functor
 
 til::detail
 Multiply an image with another object.
 

Macros

#define TIL_FOR_ALL_NUMERICAL_TYPES(macro)
 A macro to apply a macro for all numerical types (and one thought templates would obsolete this kind of crap ;) More...
 

Functions

template<class TContainer1 , class TContainer2 , typename TBinaryFunctor >
void til::detail::loop_cc (const TContainer1 &c1, TContainer2 &res, TBinaryFunctor f)
 
template<typename TMap1 , typename TMap2 , typename TFunctor >
boost::enable_if< boost::is_empty< TFunctor > >::type til::loop_mapPairs (TMap1 &map1, TMap2 &map2, TFunctor f)
 
template<typename TMap1 , typename TMap2 , typename TFunctor >
boost::disable_if< boost::is_empty< TFunctor > >::type til::loop_mapPairs (TMap1 &map1, TMap2 &map2, TFunctor &f)
 
template<typename TMap1 , typename TMap2 , typename TFunctor >
boost::enable_if< boost::is_empty< TFunctor > >::type til::loop_mapEach (TMap1 &map1, TMap2 &map2, TFunctor f)
 
template<typename TMap1 , typename TMap2 , typename TFunctor >
boost::disable_if< boost::is_empty< TFunctor > >::type til::loop_mapEach (TMap1 &map1, TMap2 &map2, TFunctor &f)
 
template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< std::numeric_limits< T1 >::is_specialized &&std::numeric_limits< T2 >::is_specialized >::type til::sub (T1 x, T2 y, T3 &z)
 
template<typename T >
boost::enable_if_c< std::numeric_limits< T >::is_specialized >::type til::mul (T &x, T y)
 
template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< std::numeric_limits< T1 >::is_specialized &&std::numeric_limits< T2 >::is_specialized >::type til::mul (T1 x, T2 y, T3 &z)
 
template<typename T1 , typename T2 >
boost::enable_if_c< is_container< T1 >::value >::type til::mul (T1 &x, const T2 &y)
 
template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< is_container< T1 >::value >::type til::mul (const T1 &x, const T2 &y, T3 &z)
 
template<typename TContainer >
void til::resize (TContainer &c, std::size_t n)
 
template<typename T , std::size_t D>
void til::resize (boost::array< T, D >, std::size_t n)
 

Macro Definition Documentation

◆ TIL_FOR_ALL_NUMERICAL_TYPES

#define TIL_FOR_ALL_NUMERICAL_TYPES (   macro)
Value:
macro (double); \
macro (float); \
macro (long); \
macro (int); \
macro (short); \
macro (unsigned short); \
macro (char); \
macro (unsigned char);

A macro to apply a macro for all numerical types (and one thought templates would obsolete this kind of crap ;)

Definition at line 31 of file globalTraits.h.