remove old MSVC workaround

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev 2023-03-12 17:42:45 -07:00
parent 4a26eba0d9
commit dc196e729e
2 changed files with 6 additions and 20 deletions

View File

@ -312,6 +312,8 @@ class EXIV2API DataValue : public Value {
most operations.
*/
class EXIV2API StringValueBase : public Value {
using Value::Value;
public:
//! Shortcut for a %StringValueBase auto pointer.
using UniquePtr = std::unique_ptr<StringValueBase>;
@ -319,8 +321,6 @@ class EXIV2API StringValueBase : public Value {
//! @name Creators
//@{
//! Constructor for subclasses
explicit StringValueBase(TypeId typeId);
//! Constructor for subclasses
StringValueBase(TypeId typeId, const std::string& buf);
//@}
@ -569,6 +569,8 @@ class EXIV2API CommentValue : public StringValueBase {
@brief Base class for all Exiv2 values used to store XMP property values.
*/
class EXIV2API XmpValue : public Value {
using Value::Value;
public:
//! Shortcut for a %XmpValue auto pointer.
using UniquePtr = std::unique_ptr<XmpValue>;
@ -578,11 +580,6 @@ class EXIV2API XmpValue : public Value {
//! XMP structure indicator.
enum XmpStruct { xsNone, xsStruct };
//! @name Creators
//@{
explicit XmpValue(TypeId typeId);
//@}
//! @name Accessors
//@{
//! Return XMP array type, indicates if an XMP value is an array.
@ -1132,6 +1129,8 @@ inline TypeId getType<double>() {
*/
template <typename T>
class ValueType : public Value {
using Value::Value;
public:
//! Shortcut for a %ValueType\<T\> auto pointer.
using UniquePtr = std::unique_ptr<ValueType<T>>;
@ -1141,9 +1140,6 @@ class ValueType : public Value {
//! Default Constructor.
ValueType();
//! Constructor.
// The default c'tor and this one can be combined, but that causes MSVC 7.1 to fall on its nose
explicit ValueType(TypeId typeId);
//! Constructor.
ValueType(const byte* buf, size_t len, ByteOrder byteOrder, TypeId typeId = getType<T>());
//! Constructor.
explicit ValueType(const T& val, TypeId typeId = getType<T>());
@ -1455,10 +1451,6 @@ template <typename T>
ValueType<T>::ValueType() : Value(getType<T>()) {
}
template <typename T>
ValueType<T>::ValueType(TypeId typeId) : Value(typeId) {
}
template <typename T>
ValueType<T>::ValueType(const byte* buf, size_t len, ByteOrder byteOrder, TypeId typeId) : Value(typeId) {
read(buf, len, byteOrder);

View File

@ -170,9 +170,6 @@ Rational DataValue::toRational(size_t n) const {
return {value_.at(n), 1};
}
StringValueBase::StringValueBase(TypeId typeId) : Value(typeId) {
}
StringValueBase::StringValueBase(TypeId typeId, const std::string& buf) : Value(typeId) {
read(buf);
}
@ -419,9 +416,6 @@ CommentValue* CommentValue::clone_() const {
return new CommentValue(*this);
}
XmpValue::XmpValue(TypeId typeId) : Value(typeId) {
}
void XmpValue::setXmpArrayType(XmpArrayType xmpArrayType) {
xmpArrayType_ = xmpArrayType;
}