68#    pragma warning(disable : 4251)  
   84        static constexpr const char *path{ 
"" };
 
   87        static constexpr const char *name{ 
"CameraInfo" };
 
   90        static constexpr const char *description{
 
   91            R
"description(Information about camera model, serial number etc.)description" 
   94        static constexpr size_t version{ 6 };
 
  104        static constexpr std::array<uint8_t, 3> binaryId{ 
'n', 
'f', 
'o' };
 
  118            static constexpr const char *path{ 
"FirmwareVersion" };
 
  121            static constexpr const char *name{ 
"FirmwareVersion" };
 
  124            static constexpr const char *description{ R
"description(The firmware version on the camera)description" }; 
  140                : m_value{ verifyValue(std::move(value)) }
 
  152                return m_value == other.m_value;
 
  158                return m_value != other.m_value;
 
  164                return m_value < other.m_value;
 
  170                return m_value > other.m_value;
 
  176                return m_value <= other.m_value;
 
  182                return m_value >= other.m_value;
 
  192            void setFromString(
const std::string &value);
 
  194            ValueType 
static verifyValue(ValueType &&value)
 
  196                return validSize().isInRange(value.size())
 
  198                           : throw std::invalid_argument{ 
"Invalid FirmwareVersion size=" + std::to_string(value.size())
 
  199                                                          + 
", valid size is {'max': 256}" };
 
  202            std::string m_value{};
 
  219            static constexpr const char *path{ 
"HardwareRevision" };
 
  222            static constexpr const char *name{ 
"HardwareRevision" };
 
  225            static constexpr const char *description{
 
  226                R
"description(Hardware revision of this camera. This corresponds to the revision string that is printed on the product 
  245                : m_value{ verifyValue(std::move(value)) }
 
  257                return m_value == other.m_value;
 
  263                return m_value != other.m_value;
 
  269                return m_value < other.m_value;
 
  275                return m_value > other.m_value;
 
  281                return m_value <= other.m_value;
 
  287                return m_value >= other.m_value;
 
  297            void setFromString(
const std::string &value);
 
  299            ValueType 
static verifyValue(ValueType &&value)
 
  301                return validSize().isInRange(value.size())
 
  303                           : throw std::invalid_argument{ 
"Invalid HardwareRevision size=" 
  304                                                          + std::to_string(value.size())
 
  305                                                          + 
", valid size is {'max': 256}" };
 
  308            std::string m_value{};
 
  323            static constexpr const char *path{ 
"Model" };
 
  326            static constexpr const char *name{ 
"Model" };
 
  329            static constexpr const char *description{ R
"description(The model of the camera)description" }; 
  361                return { ValueType::zividOnePlusSmall, ValueType::zividOnePlusMedium, ValueType::zividOnePlusLarge,
 
  362                         ValueType::zividTwo,          ValueType::zividTwoL100,       ValueType::zivid2PlusM130,
 
  363                         ValueType::zivid2PlusM60,     ValueType::zivid2PlusL110,     ValueType::zivid2PlusMR130,
 
  364                         ValueType::zivid2PlusMR60,    ValueType::zivid2PlusLR110 };
 
  372                : m_value{ verifyValue(value) }
 
  390                return m_value == other.m_value;
 
  396                return m_value != other.m_value;
 
  406            void setFromString(
const std::string &value);
 
  408            constexpr ValueType 
static verifyValue(
const ValueType &value)
 
  410                return value == ValueType::zividOnePlusSmall || value == ValueType::zividOnePlusMedium
 
  411                               || value == ValueType::zividOnePlusLarge || value == ValueType::zividTwo
 
  412                               || value == ValueType::zividTwoL100 || value == ValueType::zivid2PlusM130
 
  413                               || value == ValueType::zivid2PlusM60 || value == ValueType::zivid2PlusL110
 
  414                               || value == ValueType::zivid2PlusMR130 || value == ValueType::zivid2PlusMR60
 
  415                               || value == ValueType::zivid2PlusLR110
 
  417                           : 
throw std::invalid_argument{
 
  418                                 "Invalid value: Model{ " 
  419                                 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) + 
" }" 
  425            friend struct DataModel::Detail::Befriend<
Model>;
 
  440            static constexpr const char *path{ 
"ModelName" };
 
  443            static constexpr const char *name{ 
"ModelName" };
 
  446            static constexpr const char *description{
 
  447                R
"description(The model name of the camera. This is a user-friendly display name that may contain spaces and special 
  448characters. We recommend to use `Model` instead if you want to programmatically check for camera model. 
  466                : m_value{ verifyValue(std::move(value)) }
 
  478                return m_value == other.m_value;
 
  484                return m_value != other.m_value;
 
  490                return m_value < other.m_value;
 
  496                return m_value > other.m_value;
 
  502                return m_value <= other.m_value;
 
  508                return m_value >= other.m_value;
 
  518            void setFromString(
const std::string &value);
 
  520            ValueType 
static verifyValue(ValueType &&value)
 
  522                return validSize().isInRange(value.size())
 
  524                           : throw std::invalid_argument{ 
"Invalid ModelName size=" + std::to_string(value.size())
 
  525                                                          + 
", valid size is {'max': 256}" };
 
  528            std::string m_value{};
 
  530            friend struct DataModel::Detail::Befriend<
ModelName>;
 
  545            static constexpr const char *path{ 
"Revision" };
 
  548            static constexpr const char *name{ 
"Revision" };
 
  551            static constexpr const char *description{
 
  552                R
"description(Major/Minor hardware revision number. This field is deprecated and may be removed in a future version 
  553of the SDK. Please use HardwareRevision instead. 
  569                static constexpr const char *path{ 
"Revision/Major" };
 
  572                static constexpr const char *name{ 
"Major" };
 
  575                static constexpr const char *description{
 
  576                    R
"description(Major hardware revision number. This field is deprecated and may be removed in a future version 
  577of the SDK. Please use HardwareRevision instead. 
  587                    return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
 
  594                explicit constexpr Major(uint32_t value)
 
  607                    return m_value == other.m_value;
 
  613                    return m_value != other.m_value;
 
  619                    return m_value < other.m_value;
 
  625                    return m_value > other.m_value;
 
  631                    return m_value <= other.m_value;
 
  637                    return m_value >= other.m_value;
 
  647                void setFromString(
const std::string &value);
 
  649                uint32_t m_value{ 0 };
 
  651                friend struct DataModel::Detail::Befriend<
Major>;
 
  666                static constexpr const char *path{ 
"Revision/Minor" };
 
  669                static constexpr const char *name{ 
"Minor" };
 
  672                static constexpr const char *description{
 
  673                    R
"description(Minor hardware revision number. This field is deprecated and may be removed in a future version 
  674of the SDK. Please use HardwareRevision instead. 
  684                    return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
 
  691                explicit constexpr Minor(uint32_t value)
 
  704                    return m_value == other.m_value;
 
  710                    return m_value != other.m_value;
 
  716                    return m_value < other.m_value;
 
  722                    return m_value > other.m_value;
 
  728                    return m_value <= other.m_value;
 
  734                    return m_value >= other.m_value;
 
  744                void setFromString(
const std::string &value);
 
  746                uint32_t m_value{ 0 };
 
  748                friend struct DataModel::Detail::Befriend<
Minor>;
 
  751            using Descendants = std::tuple<CameraInfo::Revision::Major, CameraInfo::Revision::Minor>;
 
  771                typename std::enable_if<
sizeof...(Args) >= 1, 
int>::type = 0,
 
  772                typename std::enable_if<
 
  773                    Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants, 
typename std::decay<Args>::type...>::
 
  777            template<typename... Args>
 
  781                using namespace Zivid::Detail::TypeTraits;
 
  784                    AllArgsDecayedAreUnique<Args...>::value,
 
  785                    "Found duplicate types among the arguments passed to Revision(...). " 
  786                    "Types should be listed at most once.");
 
  788                set(std::forward<Args>(args)...);
 
  803            template<
typename... Args, 
typename std::enable_if<
sizeof...(Args) >= 2, 
int>::type = 0>
 
  805            template<typename... Args>
 
  809                using namespace Zivid::Detail::TypeTraits;
 
  811                using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
 
  813                    AllArgsAreDescendantNodes::value, 
"All arguments passed to set(...) must be descendant nodes.");
 
  816                    AllArgsDecayedAreUnique<Args...>::value,
 
  817                    "Found duplicate types among the arguments passed to set(...). " 
  818                    "Types should be listed at most once.");
 
  820                Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
 
  836            template<
typename... Args, 
typename std::enable_if<
sizeof...(Args) >= 1, 
int>::type = 0>
 
  838            template<typename... Args>
 
  842                using namespace Zivid::Detail::TypeTraits;
 
  844                using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
 
  846                    AllArgsAreDescendantNodes::value,
 
  847                    "All arguments passed to copyWith(...) must be descendant nodes.");
 
  850                    AllArgsDecayedAreUnique<Args...>::value,
 
  851                    "Found duplicate types among the arguments passed to copyWith(...). " 
  852                    "Types should be listed at most once.");
 
  855                copy.set(std::forward<Args>(args)...);
 
  899                typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value, 
int>::type = 0>
 
  907                typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value, 
int>::type = 0>
 
  913            template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
 
  919            template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
 
  957            void setFromString(
const std::string &value);
 
  959            void setFromString(
const std::string &fullPath, 
const std::string &value);
 
  961            std::string getString(
const std::string &fullPath) 
const;
 
  966            friend struct DataModel::Detail::Befriend<
Revision>;
 
  979            static constexpr const char *path{ 
"SerialNumber" };
 
  982            static constexpr const char *name{ 
"SerialNumber" };
 
  985            static constexpr const char *description{ R
"description(The serial number of the camera)description" }; 
 1001                : m_value{ verifyValue(std::move(value)) }
 
 1013                return m_value == other.m_value;
 
 1019                return m_value != other.m_value;
 
 1025                return m_value < other.m_value;
 
 1031                return m_value > other.m_value;
 
 1037                return m_value <= other.m_value;
 
 1043                return m_value >= other.m_value;
 
 1053            void setFromString(
const std::string &value);
 
 1055            ValueType 
static verifyValue(ValueType &&value)
 
 1057                return validSize().isInRange(value.size())
 
 1059                           : throw std::invalid_argument{ 
"Invalid SerialNumber size=" + std::to_string(value.size())
 
 1060                                                          + 
", valid size is {'max': 256}" };
 
 1063            std::string m_value{};
 
 1065            friend struct DataModel::Detail::Befriend<
SerialNumber>;
 
 1078            static constexpr const char *path{ 
"UserData" };
 
 1081            static constexpr const char *name{ 
"UserData" };
 
 1084            static constexpr const char *description{
 
 1085                R
"description(Information about user data capabilities of the camera)description" 
 1098                static constexpr const char *path{ 
"UserData/MaxSizeBytes" };
 
 1101                static constexpr const char *name{ 
"MaxSizeBytes" };
 
 1104                static constexpr const char *description{
 
 1105                    R
"description(The maximum number of bytes of user data that can be stored in the camera)description" 
 1114                    return { std::numeric_limits<uint64_t>::lowest(), std::numeric_limits<uint64_t>::max() };
 
 1134                    return m_value == other.m_value;
 
 1140                    return m_value != other.m_value;
 
 1146                    return m_value < other.m_value;
 
 1152                    return m_value > other.m_value;
 
 1158                    return m_value <= other.m_value;
 
 1164                    return m_value >= other.m_value;
 
 1174                void setFromString(
const std::string &value);
 
 1176                uint64_t m_value{ 0 };
 
 1178                friend struct DataModel::Detail::Befriend<
MaxSizeBytes>;
 
 1200                typename std::enable_if<
sizeof...(Args) >= 1, 
int>::type = 0,
 
 1201                typename std::enable_if<
 
 1202                    Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants, 
typename std::decay<Args>::type...>::
 
 1206            template<typename... Args>
 
 1210                using namespace Zivid::Detail::TypeTraits;
 
 1213                    AllArgsDecayedAreUnique<Args...>::value,
 
 1214                    "Found duplicate types among the arguments passed to UserData(...). " 
 1215                    "Types should be listed at most once.");
 
 1217                set(std::forward<Args>(args)...);
 
 1231            template<
typename... Args, 
typename std::enable_if<
sizeof...(Args) >= 2, 
int>::type = 0>
 
 1233            template<typename... Args>
 
 1237                using namespace Zivid::Detail::TypeTraits;
 
 1239                using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
 
 1241                    AllArgsAreDescendantNodes::value, 
"All arguments passed to set(...) must be descendant nodes.");
 
 1244                    AllArgsDecayedAreUnique<Args...>::value,
 
 1245                    "Found duplicate types among the arguments passed to set(...). " 
 1246                    "Types should be listed at most once.");
 
 1248                Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
 
 1263            template<
typename... Args, 
typename std::enable_if<
sizeof...(Args) >= 1, 
int>::type = 0>
 
 1265            template<typename... Args>
 
 1269                using namespace Zivid::Detail::TypeTraits;
 
 1271                using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
 
 1273                    AllArgsAreDescendantNodes::value,
 
 1274                    "All arguments passed to copyWith(...) must be descendant nodes.");
 
 1277                    AllArgsDecayedAreUnique<Args...>::value,
 
 1278                    "Found duplicate types among the arguments passed to copyWith(...). " 
 1279                    "Types should be listed at most once.");
 
 1282                copy.set(std::forward<Args>(args)...);
 
 1289                return m_maxSizeBytes;
 
 1295                return m_maxSizeBytes;
 
 1301                m_maxSizeBytes = value;
 
 1307                typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value, 
int>::type = 0>
 
 1310                return m_maxSizeBytes;
 
 1313            template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
 
 1316                return m_maxSizeBytes;
 
 1320            template<
typename F>
 
 1327            template<
typename F>
 
 1349            void setFromString(
const std::string &value);
 
 1351            void setFromString(
const std::string &fullPath, 
const std::string &value);
 
 1353            std::string getString(
const std::string &fullPath) 
const;
 
 1357            friend struct DataModel::Detail::Befriend<
UserData>;
 
 1415            typename std::enable_if<
sizeof...(Args) >= 1, 
int>::type = 0,
 
 1416            typename std::enable_if<
 
 1417                Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants, 
typename std::decay<Args>::type...>::value,
 
 1420        template<typename... Args>
 
 1424            using namespace Zivid::Detail::TypeTraits;
 
 1427                AllArgsDecayedAreUnique<Args...>::value,
 
 1428                "Found duplicate types among the arguments passed to CameraInfo(...). " 
 1429                "Types should be listed at most once.");
 
 1431            set(std::forward<Args>(args)...);
 
 1454        template<
typename... Args, 
typename std::enable_if<
sizeof...(Args) >= 2, 
int>::type = 0>
 
 1456        template<typename... Args>
 
 1460            using namespace Zivid::Detail::TypeTraits;
 
 1462            using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
 
 1464                AllArgsAreDescendantNodes::value, 
"All arguments passed to set(...) must be descendant nodes.");
 
 1467                AllArgsDecayedAreUnique<Args...>::value,
 
 1468                "Found duplicate types among the arguments passed to set(...). " 
 1469                "Types should be listed at most once.");
 
 1471            Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
 
 1495        template<
typename... Args, 
typename std::enable_if<
sizeof...(Args) >= 1, 
int>::type = 0>
 
 1497        template<typename... Args>
 
 1501            using namespace Zivid::Detail::TypeTraits;
 
 1503            using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
 
 1505                AllArgsAreDescendantNodes::value, 
"All arguments passed to copyWith(...) must be descendant nodes.");
 
 1508                AllArgsDecayedAreUnique<Args...>::value,
 
 1509                "Found duplicate types among the arguments passed to copyWith(...). " 
 1510                "Types should be listed at most once.");
 
 1513            copy.set(std::forward<Args>(args)...);
 
 1520            return m_firmwareVersion;
 
 1526            return m_firmwareVersion;
 
 1532            m_firmwareVersion = value;
 
 1539            return m_hardwareRevision;
 
 1545            return m_hardwareRevision;
 
 1551            m_hardwareRevision = value;
 
 1589            m_modelName = value;
 
 1615            m_revision.
set(value);
 
 1622            m_revision.
set(value);
 
 1629            return m_serialNumber;
 
 1635            return m_serialNumber;
 
 1641            m_serialNumber = value;
 
 1667            m_userData.
set(value);
 
 1673            typename std::enable_if<std::is_same<T, CameraInfo::FirmwareVersion>::value, 
int>::type = 0>
 
 1676            return m_firmwareVersion;
 
 1681            typename std::enable_if<std::is_same<T, CameraInfo::HardwareRevision>::value, 
int>::type = 0>
 
 1684            return m_hardwareRevision;
 
 1687        template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Model>::value, 
int>::type = 0>
 
 1693        template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::ModelName>::value, 
int>::type = 0>
 
 1699        template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Revision>::value, 
int>::type = 0>
 
 1707            typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value, 
int>::type = 0>
 
 1715            typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value, 
int>::type = 0>
 
 1721        template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::SerialNumber>::value, 
int>::type = 0>
 
 1724            return m_serialNumber;
 
 1727        template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::UserData>::value, 
int>::type = 0>
 
 1735            typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value, 
int>::type = 0>
 
 1741        template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
 
 1744            return m_firmwareVersion;
 
 1747        template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
 
 1750            return m_hardwareRevision;
 
 1753        template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
 
 1759        template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
 
 1765        template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
 
 1771        template<size_t i, typename std::enable_if<i == 5, int>::type = 0>
 
 1774            return m_serialNumber;
 
 1777        template<size_t i, typename std::enable_if<i == 6, int>::type = 0>
 
 1784        template<
typename F>
 
 1787            f(m_firmwareVersion);
 
 1788            f(m_hardwareRevision);
 
 1797        template<
typename F>
 
 1800            f(m_firmwareVersion);
 
 1801            f(m_hardwareRevision);
 
 1825        void save(
const std::string &fileName) 
const;
 
 1828        void load(
const std::string &fileName);
 
 1831        void setFromString(
const std::string &value);
 
 1833        void setFromString(
const std::string &fullPath, 
const std::string &value);
 
 1835        std::string getString(
const std::string &fullPath) 
const;
 
 1845        friend struct DataModel::Detail::Befriend<
CameraInfo>;
 
 1850    struct CameraInfo::Version<6>
 
 1873#    pragma warning(pop) 
 1877#    if !(defined(_MSC_VER) && (_MSC_VER <= 1900)) 
 1882    struct tuple_size<
Zivid::CameraInfo::Revision> : integral_constant<size_t, 2>
 
 1886    struct tuple_element<i, 
Zivid::CameraInfo::Revision>
 
 1888        static_assert(i < tuple_size<Zivid::CameraInfo::Revision>::value, 
"Index must be less than 2");
 
 1891            = 
decltype(declval<Zivid::CameraInfo::Revision>().get<i>());
 
 1895    struct tuple_size<
Zivid::CameraInfo::UserData> : integral_constant<size_t, 1>
 
 1899    struct tuple_element<i, 
Zivid::CameraInfo::UserData>
 
 1901        static_assert(i < tuple_size<Zivid::CameraInfo::UserData>::value, 
"Index must be less than 1");
 
 1904            = 
decltype(declval<Zivid::CameraInfo::UserData>().get<i>());
 
 1908    struct tuple_size<
Zivid::CameraInfo> : integral_constant<size_t, 7>
 
 1912    struct tuple_element<i, 
Zivid::CameraInfo>
 
 1914        static_assert(i < tuple_size<Zivid::CameraInfo>::value, 
"Index must be less than 7");
 
 1917            = 
decltype(declval<Zivid::CameraInfo>().get<i>());
 
 1926#if defined(__has_include) && !defined(NO_DOC) 
 1927#    if __has_include("Zivid/CameraInfoInternal.h") && __has_include("Zivid/DataModelNodeMetaData.h") 
 1928#        include "Zivid/CameraInfoInternal.h" 
#define ZIVID_CORE_EXPORT
Definition CoreExport.h:56
The firmware version on the camera.
Definition CameraInfo.h:112
std::string toString() const
Get the value as string.
bool operator==(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:150
FirmwareVersion(std::string value)
Constructor.
Definition CameraInfo.h:139
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for FirmwareVersion.
Definition CameraInfo.h:130
bool operator<(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:162
bool operator<=(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:174
bool operator>=(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:180
const std::string & value() const
Get the value.
friend std::ostream & operator<<(std::ostream &stream, const FirmwareVersion &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:186
bool operator>(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:168
bool operator!=(const FirmwareVersion &other) const
Comparison operator.
Definition CameraInfo.h:156
std::string ValueType
The type of the underlying value.
Definition CameraInfo.h:127
FirmwareVersion()=default
Default constructor.
Hardware revision of this camera. This corresponds to the revision string that is printed on the prod...
Definition CameraInfo.h:213
HardwareRevision()=default
Default constructor.
bool operator!=(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:261
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for HardwareRevision.
Definition CameraInfo.h:235
bool operator==(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:255
bool operator>(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:273
const std::string & value() const
Get the value.
bool operator<(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:267
friend std::ostream & operator<<(std::ostream &stream, const HardwareRevision &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:291
HardwareRevision(std::string value)
Constructor.
Definition CameraInfo.h:244
std::string ValueType
The type of the underlying value.
Definition CameraInfo.h:232
bool operator<=(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:279
bool operator>=(const HardwareRevision &other) const
Comparison operator.
Definition CameraInfo.h:285
std::string toString() const
Get the value as string.
The model name of the camera. This is a user-friendly display name that may contain spaces and specia...
Definition CameraInfo.h:434
bool operator==(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:476
ModelName()=default
Default constructor.
bool operator<=(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:500
std::string toString() const
Get the value as string.
ModelName(std::string value)
Constructor.
Definition CameraInfo.h:465
std::string ValueType
The type of the underlying value.
Definition CameraInfo.h:453
bool operator<(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:488
bool operator>(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:494
friend std::ostream & operator<<(std::ostream &stream, const ModelName &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:512
const std::string & value() const
Get the value.
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for ModelName.
Definition CameraInfo.h:456
bool operator>=(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:506
bool operator!=(const ModelName &other) const
Comparison operator.
Definition CameraInfo.h:482
The model of the camera.
Definition CameraInfo.h:317
static const Model zividOnePlusSmall
zividOnePlusSmall
Definition CameraInfo.h:346
static const Model zivid2PlusMR60
zivid2PlusMR60
Definition CameraInfo.h:355
static const Model zivid2PlusM130
zivid2PlusM130
Definition CameraInfo.h:351
static const Model zividTwo
zividTwo
Definition CameraInfo.h:349
static const Model zivid2PlusL110
zivid2PlusL110
Definition CameraInfo.h:353
std::string toString() const
Get the value as string.
constexpr Model(ValueType value)
Constructor.
Definition CameraInfo.h:371
Model()=default
Default constructor.
static const Model zividOnePlusMedium
zividOnePlusMedium
Definition CameraInfo.h:347
ValueType value() const
Get the value.
friend std::ostream & operator<<(std::ostream &stream, const Model::ValueType &value)
Operator to serialize ValueType to a stream.
Definition CameraInfo.h:382
static const Model zivid2PlusM60
zivid2PlusM60
Definition CameraInfo.h:352
friend std::ostream & operator<<(std::ostream &stream, const Model &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:400
static const Model zivid2PlusLR110
zivid2PlusLR110
Definition CameraInfo.h:356
static std::set< ValueType > validValues()
All valid values of Model.
Definition CameraInfo.h:359
ValueType
The type of the underlying value.
Definition CameraInfo.h:333
static const Model zivid2PlusMR130
zivid2PlusMR130
Definition CameraInfo.h:354
static const Model zividOnePlusLarge
zividOnePlusLarge
Definition CameraInfo.h:348
bool operator!=(const Model &other) const
Comparison operator.
Definition CameraInfo.h:394
static const Model zividTwoL100
zividTwoL100
Definition CameraInfo.h:350
bool operator==(const Model &other) const
Comparison operator.
Definition CameraInfo.h:388
Major hardware revision number. This field is deprecated and may be removed in a future version of th...
Definition CameraInfo.h:563
std::string toString() const
Get the value as string.
bool operator!=(const Major &other) const
Comparison operator.
Definition CameraInfo.h:611
uint32_t ValueType
The type of the underlying value.
Definition CameraInfo.h:582
friend std::ostream & operator<<(std::ostream &stream, const Major &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:641
static constexpr Range< uint32_t > validRange()
The range of valid values for Major.
Definition CameraInfo.h:585
bool operator>=(const Major &other) const
Comparison operator.
Definition CameraInfo.h:635
bool operator<=(const Major &other) const
Comparison operator.
Definition CameraInfo.h:629
bool operator>(const Major &other) const
Comparison operator.
Definition CameraInfo.h:623
uint32_t value() const
Get the value.
constexpr Major(uint32_t value)
Constructor.
Definition CameraInfo.h:594
bool operator<(const Major &other) const
Comparison operator.
Definition CameraInfo.h:617
Major()=default
Default constructor.
bool operator==(const Major &other) const
Comparison operator.
Definition CameraInfo.h:605
Minor hardware revision number. This field is deprecated and may be removed in a future version of th...
Definition CameraInfo.h:660
bool operator>(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:720
bool operator!=(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:708
bool operator<=(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:726
constexpr Minor(uint32_t value)
Constructor.
Definition CameraInfo.h:691
uint32_t ValueType
The type of the underlying value.
Definition CameraInfo.h:679
friend std::ostream & operator<<(std::ostream &stream, const Minor &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:738
bool operator==(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:702
std::string toString() const
Get the value as string.
Minor()=default
Default constructor.
bool operator>=(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:732
bool operator<(const Minor &other) const
Comparison operator.
Definition CameraInfo.h:714
static constexpr Range< uint32_t > validRange()
The range of valid values for Minor.
Definition CameraInfo.h:682
uint32_t value() const
Get the value.
Major/Minor hardware revision number. This field is deprecated and may be removed in a future version...
Definition CameraInfo.h:539
const Major & major() const
Get Major.
Definition CameraInfo.h:860
Revision copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition CameraInfo.h:840
Minor & minor()
Get Minor.
Definition CameraInfo.h:885
Revision & set(const Minor &value)
Set Minor.
Definition CameraInfo.h:891
std::tuple< CameraInfo::Revision::Major, CameraInfo::Revision::Minor > Descendants
Definition CameraInfo.h:751
Revision & set(const Major &value)
Set Major.
Definition CameraInfo.h:872
bool operator==(const Revision &other) const
Equality operator.
const CameraInfo::Revision::Minor & get() const
Definition CameraInfo.h:908
std::string toString() const
Get the value as string.
const Minor & minor() const
Get Minor.
Definition CameraInfo.h:879
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraInfo.h:935
Major & major()
Get Major.
Definition CameraInfo.h:866
const CameraInfo::Revision::Major & get() const
Definition CameraInfo.h:900
Revision()
Default constructor.
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition CameraInfo.h:927
friend std::ostream & operator<<(std::ostream &stream, const Revision &value)
Operator to send the value as string to a stream.
Definition CameraInfo.h:951
void set(Args &&...args)
Set multiple arguments.
Definition CameraInfo.h:807
bool operator!=(const Revision &other) const
Inequality operator.
The serial number of the camera.
Definition CameraInfo.h:973
SerialNumber(std::string value)
Constructor.
Definition CameraInfo.h:1000
const std::string & value() const
Get the value.
bool operator==(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:1011
std::string ValueType
The type of the underlying value.
Definition CameraInfo.h:988
SerialNumber()=default
Default constructor.
friend std::ostream & operator<<(std::ostream &stream, const SerialNumber &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:1047
std::string toString() const
Get the value as string.
bool operator>(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:1029
bool operator<(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:1023
bool operator<=(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:1035
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for SerialNumber.
Definition CameraInfo.h:991
bool operator>=(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:1041
bool operator!=(const SerialNumber &other) const
Comparison operator.
Definition CameraInfo.h:1017
The maximum number of bytes of user data that can be stored in the camera.
Definition CameraInfo.h:1092
bool operator!=(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1138
bool operator<=(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1156
bool operator>(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1150
MaxSizeBytes()=default
Default constructor.
constexpr MaxSizeBytes(uint64_t value)
Constructor.
Definition CameraInfo.h:1121
uint64_t value() const
Get the value.
bool operator<(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1144
bool operator==(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1132
std::string toString() const
Get the value as string.
friend std::ostream & operator<<(std::ostream &stream, const MaxSizeBytes &value)
Operator to serialize the value to a stream.
Definition CameraInfo.h:1168
static constexpr Range< uint64_t > validRange()
The range of valid values for MaxSizeBytes.
Definition CameraInfo.h:1112
uint64_t ValueType
The type of the underlying value.
Definition CameraInfo.h:1109
bool operator>=(const MaxSizeBytes &other) const
Comparison operator.
Definition CameraInfo.h:1162
Information about user data capabilities of the camera.
Definition CameraInfo.h:1072
bool operator==(const UserData &other) const
Equality operator.
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraInfo.h:1328
MaxSizeBytes & maxSizeBytes()
Get MaxSizeBytes.
Definition CameraInfo.h:1293
UserData copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition CameraInfo.h:1267
friend std::ostream & operator<<(std::ostream &stream, const UserData &value)
Operator to send the value as string to a stream.
Definition CameraInfo.h:1343
std::string toString() const
Get the value as string.
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition CameraInfo.h:1321
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition CameraInfo.h:1308
std::tuple< CameraInfo::UserData::MaxSizeBytes > Descendants
Definition CameraInfo.h:1181
bool operator!=(const UserData &other) const
Inequality operator.
UserData()
Default constructor.
const MaxSizeBytes & maxSizeBytes() const
Get MaxSizeBytes.
Definition CameraInfo.h:1287
UserData & set(const MaxSizeBytes &value)
Set MaxSizeBytes.
Definition CameraInfo.h:1299
void set(Args &&...args)
Set multiple arguments.
Definition CameraInfo.h:1235
Information about camera model, serial number etc.
Definition CameraInfo.h:78
bool operator==(const CameraInfo &other) const
Equality operator.
static CameraInfo fromSerialized(const std::string &value)
Construct a new CameraInfo instance from a previously serialized string.
Revision & revision()
Get Revision.
Definition CameraInfo.h:1600
const ModelName & modelName() const
Get ModelName.
Definition CameraInfo.h:1575
FirmwareVersion & firmwareVersion()
Get FirmwareVersion.
Definition CameraInfo.h:1524
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraInfo.h:1798
const UserData & userData() const
Get UserData.
Definition CameraInfo.h:1646
ModelName & modelName()
Get ModelName.
Definition CameraInfo.h:1581
bool operator!=(const CameraInfo &other) const
Inequality operator.
CameraInfo & set(const Model &value)
Set Model.
Definition CameraInfo.h:1568
const CameraInfo::FirmwareVersion & get() const
Definition CameraInfo.h:1674
const CameraInfo::Model & get() const
Definition CameraInfo.h:1688
CameraInfo(const std::string &fileName)
Construct CameraInfo by loading from file.
UserData & userData()
Get UserData.
Definition CameraInfo.h:1652
CameraInfo & set(const ModelName &value)
Set ModelName.
Definition CameraInfo.h:1587
const FirmwareVersion & firmwareVersion() const
Get FirmwareVersion.
Definition CameraInfo.h:1518
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition CameraInfo.h:1736
const Model & model() const
Get Model.
Definition CameraInfo.h:1556
CameraInfo copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition CameraInfo.h:1499
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition CameraInfo.h:1785
Model & model()
Get Model.
Definition CameraInfo.h:1562
friend std::ostream & operator<<(std::ostream &stream, const CameraInfo &value)
Operator to send the value as string to a stream.
Definition CameraInfo.h:1819
const CameraInfo::ModelName & get() const
Definition CameraInfo.h:1694
CameraInfo & set(const UserData &value)
Set UserData.
Definition CameraInfo.h:1658
CameraInfo & set(const UserData::MaxSizeBytes &value)
Set UserData::MaxSizeBytes.
Definition CameraInfo.h:1665
CameraInfo(Args &&...args)
Constructor taking variadic number of arguments.
Definition CameraInfo.h:1422
const CameraInfo::UserData & get() const
Definition CameraInfo.h:1728
const CameraInfo::Revision::Minor & get() const
Definition CameraInfo.h:1716
const SerialNumber & serialNumber() const
Get SerialNumber.
Definition CameraInfo.h:1627
SerialNumber & serialNumber()
Get SerialNumber.
Definition CameraInfo.h:1633
const Revision & revision() const
Get Revision.
Definition CameraInfo.h:1594
CameraInfo & set(const HardwareRevision &value)
Set HardwareRevision.
Definition CameraInfo.h:1549
const CameraInfo::HardwareRevision & get() const
Definition CameraInfo.h:1682
void load(const std::string &fileName)
Load from the given file.
CameraInfo & set(const FirmwareVersion &value)
Set FirmwareVersion.
Definition CameraInfo.h:1530
const CameraInfo::Revision::Major & get() const
Definition CameraInfo.h:1708
const HardwareRevision & hardwareRevision() const
Get HardwareRevision.
Definition CameraInfo.h:1537
void set(Args &&...args)
Set multiple arguments.
Definition CameraInfo.h:1458
CameraInfo & set(const Revision &value)
Set Revision.
Definition CameraInfo.h:1606
CameraInfo & set(const Revision::Major &value)
Set Revision::Major.
Definition CameraInfo.h:1613
std::tuple< CameraInfo::FirmwareVersion, CameraInfo::HardwareRevision, CameraInfo::Model, CameraInfo::ModelName, CameraInfo::Revision, CameraInfo::Revision::Major, CameraInfo::Revision::Minor, CameraInfo::SerialNumber, CameraInfo::UserData, CameraInfo::UserData::MaxSizeBytes > Descendants
Definition CameraInfo.h:1360
CameraInfo & set(const SerialNumber &value)
Set SerialNumber.
Definition CameraInfo.h:1639
std::string serialize() const
Serialize to a string.
HardwareRevision & hardwareRevision()
Get HardwareRevision.
Definition CameraInfo.h:1543
const CameraInfo::SerialNumber & get() const
Definition CameraInfo.h:1722
const CameraInfo::Revision & get() const
Definition CameraInfo.h:1700
std::string toString() const
Get the value as string.
CameraInfo()
Default constructor.
CameraInfo & set(const Revision::Minor &value)
Set Revision::Minor.
Definition CameraInfo.h:1620
void save(const std::string &fileName) const
Save to the given file.
Class describing a range of values for a given type T.
Definition Range.h:75
NodeType
Definition NodeType.h:49
Definition EnvironmentInfo.h:74
The main Zivid namespace. All Zivid code is found here.
Definition Application.h:84