1 #include "FooHelper.h"
2 
3 namespace android {
4 
to_string(const IFoo::StringMatrix5x3 & M)5 std::string to_string(const IFoo::StringMatrix5x3 &M) {
6     return to_string(M.s);
7 }
8 
to_string(const IFoo::StringMatrix3x5 & M)9 std::string to_string(const IFoo::StringMatrix3x5 &M) {
10     return to_string(M.s);
11 }
12 
to_string(const hidl_string & s)13 std::string to_string(const hidl_string &s) {
14     return std::string("'") + s.c_str() + "'";
15 }
16 
QuuxToString(const IFoo::Quux & val)17 std::string QuuxToString(const IFoo::Quux &val) {
18     std::string s;
19 
20     s = "Quux(first='";
21     s += val.first.c_str();
22     s += "', last='";
23     s += val.last.c_str();
24     s += "')";
25 
26     return s;
27 }
28 
MultiDimensionalToString(const IFoo::MultiDimensional & val)29 std::string MultiDimensionalToString(const IFoo::MultiDimensional &val) {
30     std::string s;
31 
32     s += "MultiDimensional(";
33 
34     s += "quuxMatrix=[";
35 
36     size_t k = 0;
37     for (size_t i = 0; i < 5; ++i) {
38         if (i > 0) {
39             s += ", ";
40         }
41 
42         s += "[";
43         for (size_t j = 0; j < 3; ++j, ++k) {
44             if (j > 0) {
45                 s += ", ";
46             }
47 
48             s += QuuxToString(val.quuxMatrix[i][j]);
49         }
50     }
51     s += "]";
52 
53     s += ")";
54 
55     return s;
56 }
57 } // namespace android
58