]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/include/scalar.hh
release: 1.0.1
[lilypond.git] / flower / include / scalar.hh
index e8c58e684e06f106930f219865f8b9c492a4c52e..a963a2fb2a4a620af96ac17bf576841b79efadec 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the Flower Library
 
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
+  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 
 
 #include "string.hh"
 #include "real.hh"
+#include "matrix.hh"
 
 /// Perl -like scalar type.
-struct Scalar : public String {
-    
-  Scalar (Real r) : String (r) {}
-  Scalar (int i) : String (i) {}
-  Scalar (char c) : String (c) {}
+struct Scalar : public String 
+{
+  Scalar (Real r) { *this = to_str (r); }
+  Scalar (int i) { *this = to_str (i); }
+  Scalar (char c) { *this = to_str (c); }
   Scalar (char const *c) : String (c) {}    
-  Scalar (String s):String (s) {}
+  Scalar (String s) : String (s) {}
   Scalar (Rational);
   operator Rational();
   Scalar() {}
@@ -29,6 +30,13 @@ struct Scalar : public String {
   operator int();
   bool to_bool () const;
 
+  /*
+    urg, these are bit silly; perhaps should make "Print_string" class
+    (derive from Scalar?)
+   */
+  Scalar (Vector v) { *this = v.str (); }
+  Scalar (Matrix m) { *this = m.str (); }
+
   /**   perl -like string to bool conversion.
    */
   operator bool() const;