All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IsSymmetric.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TYPETRAITS_ISSYMMETRIC_H_
36 #define _BLAZE_MATH_TYPETRAITS_ISSYMMETRIC_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
43 #include <blaze/util/FalseType.h>
44 #include <blaze/util/TrueType.h>
45 
46 
47 namespace blaze {
48 
49 //=================================================================================================
50 //
51 // CLASS DEFINITION
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
84 template< typename T >
85 struct IsSymmetric : public FalseType
86 {
87  public:
88  //**********************************************************************************************
90  enum { value = 0 };
91  typedef FalseType Type;
93  //**********************************************************************************************
94 };
95 //*************************************************************************************************
96 
97 
98 //*************************************************************************************************
103 template< typename T >
104 struct IsSymmetric< const T > : public IsSymmetric<T>::Type
105 {
106  public:
107  //**********************************************************************************************
108  enum { value = IsSymmetric<T>::value };
109  typedef typename IsSymmetric<T>::Type Type;
110  //**********************************************************************************************
111 };
113 //*************************************************************************************************
114 
115 
116 //*************************************************************************************************
121 template< typename T >
122 struct IsSymmetric< volatile T > : public IsSymmetric<T>::Type
123 {
124  public:
125  //**********************************************************************************************
126  enum { value = IsSymmetric<T>::value };
127  typedef typename IsSymmetric<T>::Type Type;
128  //**********************************************************************************************
129 };
131 //*************************************************************************************************
132 
133 
134 //*************************************************************************************************
139 template< typename T >
140 struct IsSymmetric< const volatile T > : public IsSymmetric<T>::Type
141 {
142  public:
143  //**********************************************************************************************
144  enum { value = IsSymmetric<T>::value };
145  typedef typename IsSymmetric<T>::Type Type;
146  //**********************************************************************************************
147 };
149 //*************************************************************************************************
150 
151 } // namespace blaze
152 
153 #endif
Header file for the FalseType type/value trait base class.
Compile time check for symmetric matrices.This type trait tests whether or not the given template par...
Definition: IsSymmetric.h:85
boost::false_type FalseType
Type/value traits base class.The FalseType class is used as base class for type traits and value trai...
Definition: FalseType.h:61
Header file for the TrueType type/value trait base class.