diff --git a/Magick++/lib/CoderInfo.cpp b/Magick++/lib/CoderInfo.cpp
index 4083e82..9d08556 100644
--- a/Magick++/lib/CoderInfo.cpp
+++ b/Magick++/lib/CoderInfo.cpp
@@ -6,7 +6,7 @@
//
#define MAGICKCORE_IMPLEMENTATION 1
-#define MAGICK_PLUSPLUS_IMPLEMENTATION 1
+#define MAGICK_PLUSPLUS_IMPLEMENTATION 1
#include "Magick++/Include.h"
#include "Magick++/CoderInfo.h"
@@ -14,6 +14,26 @@
using namespace std;
+// Default constructor
+Magick::CoderInfo::CoderInfo ( void )
+ : _name(),
+ _description(),
+ _isReadable(false),
+ _isWritable(false),
+ _isMultiFrame(false)
+{
+}
+
+// Copy constructor
+Magick::CoderInfo::CoderInfo ( const Magick::CoderInfo &coder_ )
+{
+ _name = coder_._name;
+ _description = coder_._description;
+ _isReadable = coder_._isReadable;
+ _isWritable = coder_._isWritable;
+ _isMultiFrame = coder_._isMultiFrame;
+}
+
Magick::CoderInfo::CoderInfo ( const std::string &name_ )
: _name(),
_description(),
@@ -75,6 +95,21 @@
return _isMultiFrame;
}
+// Assignment operator
+Magick::CoderInfo& Magick::CoderInfo::operator= (const CoderInfo &coder_ )
+{
+ // If not being set to ourself
+ if (this != &coder_)
+ {
+ _name = coder_._name;
+ _description = coder_._description;
+ _isReadable = coder_._isReadable;
+ _isWritable = coder_._isWritable;
+ _isMultiFrame = coder_._isMultiFrame;
+ }
+ return *this;
+}
+
// Construct from MagickCore::MagickInfo*
Magick::CoderInfo::CoderInfo ( const MagickCore::MagickInfo *magickInfo_ )
: _name(string(magickInfo_->name ? magickInfo_->name : "")),
@@ -85,4 +120,3 @@
{
// Nothing more to do
}
-