diff --git a/include/exiv2/asfvideo.hpp b/include/exiv2/asfvideo.hpp index 62a50063..b9c5f597 100644 --- a/include/exiv2/asfvideo.hpp +++ b/include/exiv2/asfvideo.hpp @@ -74,7 +74,9 @@ class EXIV2API AsfVideo : public Image { bool operator==(const GUIDTag& other) const; // Constructor to create a GUID object by passing individual values for each attribute - GUIDTag(unsigned int data1, unsigned short data2, unsigned short data3, std::array data4); + constexpr GUIDTag(unsigned int data1, unsigned short data2, unsigned short data3, std::array data4) : + data1_(data1), data2_(data2), data3_(data3), data4_(data4) { + } // Constructor to create a GUID object from a byte array explicit GUIDTag(const uint8_t* bytes); diff --git a/src/asfvideo.cpp b/src/asfvideo.cpp index aed0ae7f..15d0edc3 100644 --- a/src/asfvideo.cpp +++ b/src/asfvideo.cpp @@ -46,10 +46,6 @@ bool AsfVideo::GUIDTag::operator==(const AsfVideo::GUIDTag& other) const { return data1_ == other.data1_ && data2_ == other.data2_ && data3_ == other.data3_ && data4_ == other.data4_; } -AsfVideo::GUIDTag::GUIDTag(unsigned int data1, unsigned short data2, unsigned short data3, std::array data4) : - data1_(data1), data2_(data2), data3_(data3), data4_(data4) { -} - AsfVideo::GUIDTag::GUIDTag(const uint8_t* bytes) { std::copy_n(bytes, DWORD, reinterpret_cast(&data1_)); std::copy_n(bytes + DWORD, WORD, reinterpret_cast(&data2_)); @@ -92,7 +88,7 @@ bool AsfVideo::GUIDTag::operator<(const GUIDTag& other) const { return std::lexicographical_compare(data4_.begin(), data4_.end(), other.data4_.begin(), other.data4_.end()); } -const AsfVideo::GUIDTag Header(0x75B22630, 0x668E, 0x11CF, {0xA6, 0xD9, 0x00, 0xAA, 0x00, 0x62, 0xCE, 0x6C}); +constexpr AsfVideo::GUIDTag Header(0x75B22630, 0x668E, 0x11CF, {0xA6, 0xD9, 0x00, 0xAA, 0x00, 0x62, 0xCE, 0x6C}); const std::map GUIDReferenceTags = { //!< Top-level ASF object GUIDS diff --git a/unitTests/test_FileIo.cpp b/unitTests/test_FileIo.cpp index b1f11e02..0bf2fe2f 100644 --- a/unitTests/test_FileIo.cpp +++ b/unitTests/test_FileIo.cpp @@ -5,9 +5,8 @@ using namespace Exiv2; namespace { -const std::string testData(TESTDATA_PATH); -const std::string imagePath(testData + "/DSC_3079.jpg"); -const std::string nonExistingImagePath(testData + "/nonExisting.jpg"); +constexpr auto imagePath = TESTDATA_PATH "/DSC_3079.jpg"; +constexpr auto nonExistingImagePath = TESTDATA_PATH "/nonExisting.jpg"; } // namespace TEST(AFileIO, canBeInstantiatedWithFilePath) {