12#include "MantidKernel/PropertyWithValue.tcc"
14#include <NeXusFile.hpp>
18#define PROPERTYWITHVALUE_SAVEPROPERTY(type) \
19 template <> void PropertyWithValue<type>::saveProperty(::NeXus::File *file) { \
20 file->makeGroup(this->name(), "NXlog", true); \
21 file->writeData("value", m_value); \
22 file->openData("value"); \
23 file->putAttr("units", this->units()); \
39template class MANTID_KERNEL_DLL PropertyWithValue<uint16_t>;
40template class MANTID_KERNEL_DLL PropertyWithValue<bool>;
41template class MANTID_KERNEL_DLL PropertyWithValue<OptionalBool>;
42template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<float>>;
43template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<uint16_t>>;
44template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<uint32_t>>;
45template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<int64_t>>;
46template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<uint64_t>>;
47template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<bool>>;
48template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<OptionalBool>>;
49template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<std::string>>;
50template class MANTID_KERNEL_DLL PropertyWithValue<Matrix<float>>;
51template class MANTID_KERNEL_DLL PropertyWithValue<Matrix<double>>;
52template class MANTID_KERNEL_DLL PropertyWithValue<Matrix<int>>;
53template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<std::vector<int32_t>>>;
54template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<std::vector<std::string>>>;
55template class MANTID_KERNEL_DLL PropertyWithValue<std::shared_ptr<PropertyManager>>;
56#if defined(_WIN32) || defined(__clang__) && defined(__APPLE__)
59 file->makeGroup(this->name(),
"NXlog",
true);
60 file->writeData(
"value",
static_cast<int64_t
>(
m_value));
61 file->openData(
"value");
62 file->putAttr(
"units", this->units());
66template class MANTID_KERNEL_DLL PropertyWithValue<long>;
67template class MANTID_KERNEL_DLL PropertyWithValue<unsigned long>;
68template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<long>>;
69template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<unsigned long>>;
70template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<std::vector<long>>>;
73template class MANTID_KERNEL_DLL PropertyWithValue<long long>;
74template class MANTID_KERNEL_DLL PropertyWithValue<unsigned long long>;
75template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<long long>>;
76template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<unsigned long long>>;
77template class MANTID_KERNEL_DLL PropertyWithValue<std::vector<std::vector<long long>>>;
86template class PropertyWithValue<float>;
87template class PropertyWithValue<double>;
88template class PropertyWithValue<int32_t>;
89template class PropertyWithValue<uint32_t>;
90template class PropertyWithValue<int64_t>;
91template class PropertyWithValue<uint64_t>;
93template class PropertyWithValue<std::vector<double>>;
94template class PropertyWithValue<std::vector<int32_t>>;
96template class PropertyWithValue<std::string>;
const std::string & m_value
#define PROPERTYWITHVALUE_SAVEPROPERTY(type)
void saveProperty(::NeXus::File *file) override