TBCI Numerical high perf. C++ Library  2.8.0
Public Types | List of all members
NOINST< T > Class Template Reference

#include <tbci_traits.h>

Public Types

typedef Trefval_type
 
typedef const Tconst_refval_type
 
typedef Tloop_refval_type
 
typedef const Tloop_const_refval_type
 
typedef bool refval_type
 
typedef bool const_refval_type
 
typedef bool loop_refval_type
 
typedef bool loop_const_refval_type
 
typedef unsigned char refval_type
 
typedef unsigned char const_refval_type
 
typedef unsigned char loop_refval_type
 
typedef unsigned char loop_const_refval_type
 
typedef signed short refval_type
 
typedef signed short const_refval_type
 
typedef signed short loop_refval_type
 
typedef signed short loop_const_refval_type
 
typedef unsigned short refval_type
 
typedef unsigned short const_refval_type
 
typedef unsigned short loop_refval_type
 
typedef unsigned short loop_const_refval_type
 
typedef signed int refval_type
 
typedef signed int const_refval_type
 
typedef signed int loop_refval_type
 
typedef signed int loop_const_refval_type
 
typedef unsigned int refval_type
 
typedef unsigned int const_refval_type
 
typedef unsigned int loop_refval_type
 
typedef unsigned int loop_const_refval_type
 
typedef signed long refval_type
 
typedef signed long const_refval_type
 
typedef signed long loop_refval_type
 
typedef signed long loop_const_refval_type
 
typedef unsigned long refval_type
 
typedef unsigned long const_refval_type
 
typedef unsigned long loop_refval_type
 
typedef unsigned long loop_const_refval_type
 
typedef float refval_type
 
typedef float const_refval_type
 
typedef float loop_refval_type
 
typedef float loop_const_refval_type
 
typedef double refval_type
 
typedef double const_refval_type
 
typedef double loop_refval_type
 
typedef double loop_const_refval_type
 
typedef boolrefval_type
 
typedef boolconst_refval_type
 
typedef boolloop_refval_type
 
typedef boolloop_const_refval_type
 
typedef signed char * refval_type
 
typedef signed char * const_refval_type
 
typedef signed char * loop_refval_type
 
typedef signed char * loop_const_refval_type
 
typedef unsigned char * refval_type
 
typedef unsigned char * const_refval_type
 
typedef unsigned char * loop_refval_type
 
typedef unsigned char * loop_const_refval_type
 
typedef signed short * refval_type
 
typedef signed short * const_refval_type
 
typedef signed short * loop_refval_type
 
typedef signed short * loop_const_refval_type
 
typedef unsigned short * refval_type
 
typedef unsigned short * const_refval_type
 
typedef unsigned short * loop_refval_type
 
typedef unsigned short * loop_const_refval_type
 
typedef signed int * refval_type
 
typedef signed int * const_refval_type
 
typedef signed int * loop_refval_type
 
typedef signed int * loop_const_refval_type
 
typedef unsigned int * refval_type
 
typedef unsigned int * const_refval_type
 
typedef unsigned int * loop_refval_type
 
typedef unsigned int * loop_const_refval_type
 
typedef signed long * refval_type
 
typedef signed long * const_refval_type
 
typedef signed long * loop_refval_type
 
typedef signed long * loop_const_refval_type
 
typedef unsigned long * refval_type
 
typedef unsigned long * const_refval_type
 
typedef unsigned long * loop_refval_type
 
typedef unsigned long * loop_const_refval_type
 
typedef float * refval_type
 
typedef float * const_refval_type
 
typedef float * loop_refval_type
 
typedef float * loop_const_refval_type
 
typedef double * refval_type
 
typedef double * const_refval_type
 
typedef double * loop_refval_type
 
typedef double * loop_const_refval_type
 
typedef void * refval_type
 
typedef void * const_refval_type
 
typedef void * loop_refval_type
 
typedef void * loop_const_refval_type
 
typedef volatile long refval_type
 
typedef volatile long const_refval_type
 
typedef volatile long loop_refval_type
 
typedef volatile long loop_const_refval_type
 

Detailed Description

template<typename T>
class NOINST< T >

This traits class is there to make some tradeoffs: How should variables of a type T be passed best, as const reference or by value? How should we store the variable when we use it in a loop, as reference to the original value or as copy?

The answer to these questions is encapsulated in the class tbci_traits.

refval_type and const_refval_type are for passing variables. loop_refval_type and loop_const_refval_type are for access in loops.

The answer may be dependent on the exact machine that's being used. In general, small POD types that fit into a CPU(FPU) REGISTER should best be passed as value always.

Small entities that fit into a small number of REGISTERs (such as complex numbers) may best be passed to function by reference, but if accessed multiple times, the one copy is cheaper than the indirection by pointer.

For unknown types, that can be arbitrarily complex, and large, we default to using references.

Definition at line 44 of file tbci_traits.h.

Member Typedef Documentation

template<typename T >
typedef const T& NOINST< T >::const_refval_type

Definition at line 48 of file tbci_traits.h.

template<typename T >
typedef bool NOINST< T >::const_refval_type

Definition at line 83 of file tbci_traits.h.

template<typename T >
typedef unsigned char NOINST< T >::const_refval_type

Definition at line 84 of file tbci_traits.h.

template<typename T >
typedef signed short NOINST< T >::const_refval_type

Definition at line 85 of file tbci_traits.h.

template<typename T >
typedef unsigned short NOINST< T >::const_refval_type

Definition at line 86 of file tbci_traits.h.

template<typename T >
typedef signed int NOINST< T >::const_refval_type

Definition at line 87 of file tbci_traits.h.

template<typename T >
typedef unsigned int NOINST< T >::const_refval_type

Definition at line 88 of file tbci_traits.h.

template<typename T >
typedef signed long NOINST< T >::const_refval_type

Definition at line 89 of file tbci_traits.h.

template<typename T >
typedef unsigned long NOINST< T >::const_refval_type

Definition at line 90 of file tbci_traits.h.

template<typename T >
typedef float NOINST< T >::const_refval_type

Definition at line 91 of file tbci_traits.h.

template<typename T >
typedef double NOINST< T >::const_refval_type

Definition at line 92 of file tbci_traits.h.

template<typename T >
typedef bool* NOINST< T >::const_refval_type

Definition at line 94 of file tbci_traits.h.

template<typename T >
typedef signed char* NOINST< T >::const_refval_type

Definition at line 95 of file tbci_traits.h.

template<typename T >
typedef unsigned char* NOINST< T >::const_refval_type

Definition at line 96 of file tbci_traits.h.

template<typename T >
typedef signed short* NOINST< T >::const_refval_type

Definition at line 97 of file tbci_traits.h.

template<typename T >
typedef unsigned short* NOINST< T >::const_refval_type

Definition at line 98 of file tbci_traits.h.

template<typename T >
typedef signed int* NOINST< T >::const_refval_type

Definition at line 99 of file tbci_traits.h.

template<typename T >
typedef unsigned int* NOINST< T >::const_refval_type

Definition at line 100 of file tbci_traits.h.

template<typename T >
typedef signed long* NOINST< T >::const_refval_type

Definition at line 101 of file tbci_traits.h.

template<typename T >
typedef unsigned long* NOINST< T >::const_refval_type

Definition at line 102 of file tbci_traits.h.

template<typename T >
typedef float* NOINST< T >::const_refval_type

Definition at line 103 of file tbci_traits.h.

template<typename T >
typedef double* NOINST< T >::const_refval_type

Definition at line 104 of file tbci_traits.h.

template<typename T >
typedef void* NOINST< T >::const_refval_type

Definition at line 106 of file tbci_traits.h.

template<typename T >
typedef volatile long NOINST< T >::const_refval_type

Definition at line 117 of file tbci_traits.h.

template<typename T >
typedef const T& NOINST< T >::loop_const_refval_type

Definition at line 50 of file tbci_traits.h.

template<typename T >
typedef bool NOINST< T >::loop_const_refval_type

Definition at line 83 of file tbci_traits.h.

template<typename T >
typedef unsigned char NOINST< T >::loop_const_refval_type

Definition at line 84 of file tbci_traits.h.

template<typename T >
typedef signed short NOINST< T >::loop_const_refval_type

Definition at line 85 of file tbci_traits.h.

template<typename T >
typedef unsigned short NOINST< T >::loop_const_refval_type

Definition at line 86 of file tbci_traits.h.

template<typename T >
typedef signed int NOINST< T >::loop_const_refval_type

Definition at line 87 of file tbci_traits.h.

template<typename T >
typedef unsigned int NOINST< T >::loop_const_refval_type

Definition at line 88 of file tbci_traits.h.

template<typename T >
typedef signed long NOINST< T >::loop_const_refval_type

Definition at line 89 of file tbci_traits.h.

template<typename T >
typedef unsigned long NOINST< T >::loop_const_refval_type

Definition at line 90 of file tbci_traits.h.

template<typename T >
typedef float NOINST< T >::loop_const_refval_type

Definition at line 91 of file tbci_traits.h.

template<typename T >
typedef double NOINST< T >::loop_const_refval_type

Definition at line 92 of file tbci_traits.h.

template<typename T >
typedef bool* NOINST< T >::loop_const_refval_type

Definition at line 94 of file tbci_traits.h.

template<typename T >
typedef signed char* NOINST< T >::loop_const_refval_type

Definition at line 95 of file tbci_traits.h.

template<typename T >
typedef unsigned char* NOINST< T >::loop_const_refval_type

Definition at line 96 of file tbci_traits.h.

template<typename T >
typedef signed short* NOINST< T >::loop_const_refval_type

Definition at line 97 of file tbci_traits.h.

template<typename T >
typedef unsigned short* NOINST< T >::loop_const_refval_type

Definition at line 98 of file tbci_traits.h.

template<typename T >
typedef signed int* NOINST< T >::loop_const_refval_type

Definition at line 99 of file tbci_traits.h.

template<typename T >
typedef unsigned int* NOINST< T >::loop_const_refval_type

Definition at line 100 of file tbci_traits.h.

template<typename T >
typedef signed long* NOINST< T >::loop_const_refval_type

Definition at line 101 of file tbci_traits.h.

template<typename T >
typedef unsigned long* NOINST< T >::loop_const_refval_type

Definition at line 102 of file tbci_traits.h.

template<typename T >
typedef float* NOINST< T >::loop_const_refval_type

Definition at line 103 of file tbci_traits.h.

template<typename T >
typedef double* NOINST< T >::loop_const_refval_type

Definition at line 104 of file tbci_traits.h.

template<typename T >
typedef void* NOINST< T >::loop_const_refval_type

Definition at line 106 of file tbci_traits.h.

template<typename T >
typedef volatile long NOINST< T >::loop_const_refval_type

Definition at line 117 of file tbci_traits.h.

template<typename T >
typedef T& NOINST< T >::loop_refval_type

Definition at line 49 of file tbci_traits.h.

template<typename T >
typedef bool NOINST< T >::loop_refval_type

Definition at line 83 of file tbci_traits.h.

template<typename T >
typedef unsigned char NOINST< T >::loop_refval_type

Definition at line 84 of file tbci_traits.h.

template<typename T >
typedef signed short NOINST< T >::loop_refval_type

Definition at line 85 of file tbci_traits.h.

template<typename T >
typedef unsigned short NOINST< T >::loop_refval_type

Definition at line 86 of file tbci_traits.h.

template<typename T >
typedef signed int NOINST< T >::loop_refval_type

Definition at line 87 of file tbci_traits.h.

template<typename T >
typedef unsigned int NOINST< T >::loop_refval_type

Definition at line 88 of file tbci_traits.h.

template<typename T >
typedef signed long NOINST< T >::loop_refval_type

Definition at line 89 of file tbci_traits.h.

template<typename T >
typedef unsigned long NOINST< T >::loop_refval_type

Definition at line 90 of file tbci_traits.h.

template<typename T >
typedef float NOINST< T >::loop_refval_type

Definition at line 91 of file tbci_traits.h.

template<typename T >
typedef double NOINST< T >::loop_refval_type

Definition at line 92 of file tbci_traits.h.

template<typename T >
typedef bool* NOINST< T >::loop_refval_type

Definition at line 94 of file tbci_traits.h.

template<typename T >
typedef signed char* NOINST< T >::loop_refval_type

Definition at line 95 of file tbci_traits.h.

template<typename T >
typedef unsigned char* NOINST< T >::loop_refval_type

Definition at line 96 of file tbci_traits.h.

template<typename T >
typedef signed short* NOINST< T >::loop_refval_type

Definition at line 97 of file tbci_traits.h.

template<typename T >
typedef unsigned short* NOINST< T >::loop_refval_type

Definition at line 98 of file tbci_traits.h.

template<typename T >
typedef signed int* NOINST< T >::loop_refval_type

Definition at line 99 of file tbci_traits.h.

template<typename T >
typedef unsigned int* NOINST< T >::loop_refval_type

Definition at line 100 of file tbci_traits.h.

template<typename T >
typedef signed long* NOINST< T >::loop_refval_type

Definition at line 101 of file tbci_traits.h.

template<typename T >
typedef unsigned long* NOINST< T >::loop_refval_type

Definition at line 102 of file tbci_traits.h.

template<typename T >
typedef float* NOINST< T >::loop_refval_type

Definition at line 103 of file tbci_traits.h.

template<typename T >
typedef double* NOINST< T >::loop_refval_type

Definition at line 104 of file tbci_traits.h.

template<typename T >
typedef void* NOINST< T >::loop_refval_type

Definition at line 106 of file tbci_traits.h.

template<typename T >
typedef volatile long NOINST< T >::loop_refval_type

Definition at line 117 of file tbci_traits.h.

template<typename T >
typedef T& NOINST< T >::refval_type

Definition at line 47 of file tbci_traits.h.

template<typename T >
typedef bool NOINST< T >::refval_type

Definition at line 83 of file tbci_traits.h.

template<typename T >
typedef unsigned char NOINST< T >::refval_type

Definition at line 84 of file tbci_traits.h.

template<typename T >
typedef signed short NOINST< T >::refval_type

Definition at line 85 of file tbci_traits.h.

template<typename T >
typedef unsigned short NOINST< T >::refval_type

Definition at line 86 of file tbci_traits.h.

template<typename T >
typedef signed int NOINST< T >::refval_type

Definition at line 87 of file tbci_traits.h.

template<typename T >
typedef unsigned int NOINST< T >::refval_type

Definition at line 88 of file tbci_traits.h.

template<typename T >
typedef signed long NOINST< T >::refval_type

Definition at line 89 of file tbci_traits.h.

template<typename T >
typedef unsigned long NOINST< T >::refval_type

Definition at line 90 of file tbci_traits.h.

template<typename T >
typedef float NOINST< T >::refval_type

Definition at line 91 of file tbci_traits.h.

template<typename T >
typedef double NOINST< T >::refval_type

Definition at line 92 of file tbci_traits.h.

template<typename T >
typedef bool* NOINST< T >::refval_type

Definition at line 94 of file tbci_traits.h.

template<typename T >
typedef signed char* NOINST< T >::refval_type

Definition at line 95 of file tbci_traits.h.

template<typename T >
typedef unsigned char* NOINST< T >::refval_type

Definition at line 96 of file tbci_traits.h.

template<typename T >
typedef signed short* NOINST< T >::refval_type

Definition at line 97 of file tbci_traits.h.

template<typename T >
typedef unsigned short* NOINST< T >::refval_type

Definition at line 98 of file tbci_traits.h.

template<typename T >
typedef signed int* NOINST< T >::refval_type

Definition at line 99 of file tbci_traits.h.

template<typename T >
typedef unsigned int* NOINST< T >::refval_type

Definition at line 100 of file tbci_traits.h.

template<typename T >
typedef signed long* NOINST< T >::refval_type

Definition at line 101 of file tbci_traits.h.

template<typename T >
typedef unsigned long* NOINST< T >::refval_type

Definition at line 102 of file tbci_traits.h.

template<typename T >
typedef float* NOINST< T >::refval_type

Definition at line 103 of file tbci_traits.h.

template<typename T >
typedef double* NOINST< T >::refval_type

Definition at line 104 of file tbci_traits.h.

template<typename T >
typedef void* NOINST< T >::refval_type

Definition at line 106 of file tbci_traits.h.

template<typename T >
typedef volatile long NOINST< T >::refval_type

Definition at line 117 of file tbci_traits.h.


The documentation for this class was generated from the following file: