Michele De Stefano's C++ Utilities
test_traits.cpp
1 // test_traits.cpp
2 //
3 // Copyright (c) 2014 - Michele De Stefano (micdestefano@users.sourceforge.net)
4 //
5 // Distributed under the MIT License (See accompanying file LICENSE)
6 
21 
23  #include <iostream>
24  #include <mds_utils/echo.hpp>
26 
27 
28 struct A {
29 
30  class A_tag {};
31 };
32 
33 
34 int main() {
35 
36  std::cout << std::boolalpha;
37 
38  MDS_UTILS_ECHO_RESULT(mds_utils::ublas::is_vector<A>::value); // false
39  MDS_UTILS_ECHO_RESULT(mds_utils::ublas::is_vector<boost::numeric::ublas::vector<double> >::value); // true
40  MDS_UTILS_ECHO_RESULT(mds_utils::ublas::is_vector<boost::numeric::ublas::matrix<double> >::value); // false
41 
42  std::cout << endl;
43 
44  MDS_UTILS_ECHO_RESULT(mds_utils::ublas::is_matrix<A>::value); // false
45  MDS_UTILS_ECHO_RESULT(mds_utils::ublas::is_matrix<boost::numeric::ublas::matrix<double> >::value); // true
46  MDS_UTILS_ECHO_RESULT(mds_utils::ublas::is_matrix<boost::numeric::ublas::compressed_matrix<double> >::value); // false
47 
48  std::cout << endl;
49 
50  MDS_UTILS_ECHO_RESULT(mds_utils::ublas::is_compressed_matrix<A>::value); // false
51  MDS_UTILS_ECHO_RESULT(mds_utils::ublas::is_compressed_matrix<boost::numeric::ublas::compressed_matrix<double> >::value); // true
52  MDS_UTILS_ECHO_RESULT(mds_utils::ublas::is_compressed_matrix<boost::numeric::ublas::matrix<double> >::value); // false
53 
54  return EXIT_SUCCESS;
55 }
56 
Contains utilities for the Boost uBLAS library.
Contains macros for echoing programming instructions.
#define MDS_UTILS_ECHO_RESULT(a)
Echoes an instruction that produces a result and executes it, printing the result.
Definition: echo.hpp:53