diff options
author | valmat <ufabiz@gmail.com> | 2014-03-28 19:00:17 +0600 |
---|---|---|
committer | valmat <ufabiz@gmail.com> | 2014-03-28 19:00:17 +0600 |
commit | 708a22fae15b13db871ca5ffc73004c70f0584fe (patch) | |
tree | 639e424f544f8ca5c950803620399c57fceb69bd /tests/cpp/include/variables/005-cast-objects-to-scalars.h | |
parent | 7bc500847e3027bb785c5525a21078ff72acc2ab (diff) |
Changed the structure of the test file. With the increasing number of tests the old structure became uncomfortable.
Diffstat (limited to 'tests/cpp/include/variables/005-cast-objects-to-scalars.h')
-rw-r--r-- | tests/cpp/include/variables/005-cast-objects-to-scalars.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/cpp/include/variables/005-cast-objects-to-scalars.h b/tests/cpp/include/variables/005-cast-objects-to-scalars.h new file mode 100644 index 0000000..f053c4d --- /dev/null +++ b/tests/cpp/include/variables/005-cast-objects-to-scalars.h @@ -0,0 +1,75 @@ +/** + * + * Test variables + * 005-cast-objects-to-scalars.phpt + * + */ + + + +/** + * Set up namespace + */ +namespace TestVariables { + + /** + * A sample class, with methods to cast objects to scalars + */ + class Obj2Scalar : public Php::Base + { + public: + /** + * C++ constructor and C++ destructpr + */ + Obj2Scalar() {} + virtual ~Obj2Scalar() {} + + /** + * Cast to a string + * + * Note that now we use const char* as return value, and not Php::Value. + * The __toString function is detected at compile time, and it does + * not have a fixed signature. You can return any value that can be picked + * up by a Php::Value object. + * + * @return const char * + */ + const char *__toString() + { + return "Mount Meru, also called Sumeru (Sanskrit)"; + } + + /** + * Cast to a integer + * @return long + */ + long __toInteger() + { + return 27032014; + } + + /** + * Cast to a floating point number + * @return double + */ + double __toFloat() + { + return 3.14159265359; + } + + /** + * Cast to a boolean + * @return bool + */ + bool __toBool() + { + return true; + } + }; + + +/** + * End of namespace + */ +} + |