Proxy.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_PROXY_PROXY_H_
36 #define _BLAZE_MATH_PROXY_PROXY_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
53 #include <blaze/util/mpl/If.h>
55 
56 
57 namespace blaze {
58 
59 //=================================================================================================
60 //
61 // CLASS DEFINITION
62 //
63 //=================================================================================================
64 
65 //*************************************************************************************************
97 template< typename PT // Type of the proxy
98  , typename RT > // Type of the represented element
99 class Proxy : public If< IsVector<RT>
100  , typename If< IsDenseVector<RT>
101  , DenseVectorProxy<PT,RT>
102  , SparseVectorProxy<PT,RT>
103  >::Type
104  , typename If< IsMatrix<RT>
105  , typename If< IsDenseMatrix<RT>
106  , DenseMatrixProxy<PT,RT>
107  , SparseMatrixProxy<PT,RT>
108  >::Type
109  , typename If< IsComplex<RT>
110  , ComplexProxy<PT,RT>
111  , DefaultProxy<PT,RT>
112  >::Type
113  >::Type
114  >::Type
115 {};
116 //*************************************************************************************************
117 
118 } // namespace blaze
119 
120 #endif
Compile time type selection.The If class template selects one of the two given types T2 and T3 depend...
Definition: If.h:112
Header file for the SparseVectorProxy class.
Proxy base class.The Proxy class is a base class for all proxy classes within the Blaze library that ...
Definition: Proxy.h:99
Header file for the DefaultProxy class.
Header file for the DenseMatrixProxy class.
Header file for the DenseVectorProxy class.
Header file for the IsMatrix type trait.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Header file for the If class template.
Header file for the ComplexProxy class.
Header file for the SparseMatrixProxy class.
Header file for the IsVector type trait.
Header file for the IsDenseMatrix type trait.
Header file for the IsDenseVector type trait.
Header file for the IsComplex type trait.