summaryrefslogtreecommitdiffstats
path: root/libdimensionxx/dimensionxx/color.hpp
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2009-07-11 16:54:58 +0000
committerTavian Barnes <tavianator@gmail.com>2009-07-11 16:54:58 +0000
commit249203127d1ae989785978024ef0ad25bc994384 (patch)
treedf20ef109ae5435b0fa6ccd6219fa03ab2ef1a86 /libdimensionxx/dimensionxx/color.hpp
parentca84516fa80cfca35da7df71ea04423780028212 (diff)
downloaddimension-249203127d1ae989785978024ef0ad25bc994384.tar.xz
Allow Array's of non-POD types through specialized Array_Element class.
Diffstat (limited to 'libdimensionxx/dimensionxx/color.hpp')
-rw-r--r--libdimensionxx/dimensionxx/color.hpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/libdimensionxx/dimensionxx/color.hpp b/libdimensionxx/dimensionxx/color.hpp
index 635e141..7d804f5 100644
--- a/libdimensionxx/dimensionxx/color.hpp
+++ b/libdimensionxx/dimensionxx/color.hpp
@@ -200,6 +200,26 @@ namespace Dimension
dmnsn_sRGB m_RGB;
};
+ // Array_Element specialization
+ template <>
+ class Array_Element<Color>
+ : public DMNSN_Array_Element<Color, dmnsn_color>
+ {
+ public:
+ typedef dmnsn_color C_Type;
+
+ Array_Element()
+ : DMNSN_Array_Element<Color, dmnsn_color>(Color()) { }
+ Array_Element(Color& color)
+ : DMNSN_Array_Element<Color, dmnsn_color>(color) { }
+ Array_Element(C_Type c)
+ : DMNSN_Array_Element<Color, dmnsn_color>(c) { }
+ // Array_Element(const Array_Element& ae);
+ // ~Array_Element();
+
+ // Array_Element& operator=(const Array_Element& ae);
+ };
+
// Color inline constructors
inline Color::Color(const CIE_XYZ& XYZ)