Add more FieldPacker.add() routines.

This cl also improves the cppbasic test by checking results for known functions.

Bug: 5972398
Change-Id: Iacd9eb42e57ace952c590f8a988708f01bb53d59
diff --git a/cpp/rsCppStructs.h b/cpp/rsCppStructs.h
index 8d3a9af..07231ab 100644
--- a/cpp/rsCppStructs.h
+++ b/cpp/rsCppStructs.h
@@ -453,6 +453,34 @@
             mPos += sizeof(t);
         }
     }
+
+    /*
+    void add(rs_matrix4x4 m) {
+        for (size_t i = 0; i < 16; i++) {
+            add(m.m[i]);
+        }
+    }
+
+    void add(rs_matrix3x3 m) {
+        for (size_t i = 0; i < 9; i++) {
+            add(m.m[i]);
+        }
+    }
+
+    void add(rs_matrix2x2 m) {
+        for (size_t i = 0; i < 4; i++) {
+            add(m.m[i]);
+        }
+    }
+    */
+
+    void add(BaseObj* obj) {
+        if (obj != NULL) {
+            add((uint32_t) (uintptr_t) obj->getID());
+        } else {
+            add((uint32_t) 0);
+        }
+    }
 };
 
 class Type : public BaseObj {