Remove .gitignore do nothing is ignored.
[synfig.git] / synfig-core / trunk / src / synfig / value.h
index 0195db5..7079dba 100644 (file)
@@ -6,7 +6,7 @@
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**     Copyright (c) 2007 Chris Moore
+**     Copyright (c) 2007, 2008 Chris Moore
 **
 **     This package is free software; you can redistribute it and/or
 **     modify it under the terms of the GNU General Public License as
@@ -226,7 +226,7 @@ public:
 
        // === GET MEMBERS ========================================================
        template <typename T>
-       const T &get(const T& x)const
+       const T &get(const T& x __attribute__ ((unused)))const
        {
                assert(is_valid() && same_type_as(x));
                return *static_cast<const T*>(data);
@@ -238,6 +238,10 @@ public:
                { return get(etl::loose_handle<Canvas>()); }
        const char* get(const char*)const;
        const list_type& get_list()const { return get(list_type()); }
+
+#ifdef _DEBUG
+       String get_string() const;
+#endif // _DEBUG
        // ========================================================================
 
 
@@ -288,26 +292,26 @@ public:
 
 
        // === GET TYPE MEMBERS ===================================================
-       static const Type get_type(bool) { return TYPE_BOOL; }
-       static const Type get_type(int) { return TYPE_INTEGER; }
-       static const Type get_type(const Time&) { return TYPE_TIME; }
-       static const Type get_type(const Real&) { return TYPE_REAL; }
-       static const Type get_type(const float&) { return TYPE_REAL; }
-       static const Type get_type(const Vector&) { return TYPE_VECTOR; }
-       static const Type get_type(const Color&) { return TYPE_COLOR; }
-       static const Type get_type(const Segment&) { return TYPE_SEGMENT; }
-       static const Type get_type(const BLinePoint&) { return TYPE_BLINEPOINT; }
-       static const Type get_type(const String&) { return TYPE_STRING; }
-       static const Type get_type(const Gradient&) { return TYPE_GRADIENT; }
-       static const Type get_type(Canvas*) { return TYPE_CANVAS; }
-       static const Type get_type(const etl::handle<Canvas>&)
+       static Type get_type(bool) { return TYPE_BOOL; }
+       static Type get_type(int) { return TYPE_INTEGER; }
+       static Type get_type(const Time&) { return TYPE_TIME; }
+       static Type get_type(const Real&) { return TYPE_REAL; }
+       static Type get_type(const float&) { return TYPE_REAL; }
+       static Type get_type(const Vector&) { return TYPE_VECTOR; }
+       static Type get_type(const Color&) { return TYPE_COLOR; }
+       static Type get_type(const Segment&) { return TYPE_SEGMENT; }
+       static Type get_type(const BLinePoint&) { return TYPE_BLINEPOINT; }
+       static Type get_type(const String&) { return TYPE_STRING; }
+       static Type get_type(const Gradient&) { return TYPE_GRADIENT; }
+       static Type get_type(Canvas*) { return TYPE_CANVAS; }
+       static Type get_type(const etl::handle<Canvas>&)
                { return TYPE_CANVAS; }
-       static const Type get_type(const etl::loose_handle<Canvas>&)
+       static Type get_type(const etl::loose_handle<Canvas>&)
                { return TYPE_CANVAS; }
-       static const Type get_type(const list_type&) { return TYPE_LIST; }
-       template <class T> static const Type get_type(const std::vector<T> &/*x*/)
+       static Type get_type(const list_type&) { return TYPE_LIST; }
+       template <class T> static Type get_type(const std::vector<T> &/*x*/)
                { return TYPE_LIST; }
-       template <class T> static const Type get_type(const std::list<T> &/*x*/)
+       template <class T> static Type get_type(const std::list<T> &/*x*/)
                { return TYPE_LIST; }
        // ========================================================================
 
@@ -320,7 +324,7 @@ public:
 
        operator const list_type&()const { return get_list(); }
        //operator const Color&()const { return get(Color()); }
-       //operator const Real&()const { return get(Real()); }
+       operator const Real&()const { return get(Real()); }
        //operator const Time&()const { return get(Time()); }
 
        operator const Vector&()const {  return get(Vector()); }
@@ -341,13 +345,13 @@ public:
        half get(const half &)const { return get(Real()); }
        void put(half*x)const { *x=get(Real()); }
        void set(const half &x) { _set(Real(x)); }
-       static const Type get_type(const half&) { return TYPE_REAL; }
+       static Type get_type(const half&) { return TYPE_REAL; }
        operator half()const { return get(Real()); }
 #endif
 
 #ifndef SYNFIG_NO_ANGLE
        operator const Angle&()const { return get(Angle()); }
-       static const Type get_type(const Angle&) { return TYPE_ANGLE; }
+       static Type get_type(const Angle&) { return TYPE_ANGLE; }
 #endif
 
        template <class T>