112# pragma warning(push)
113# pragma warning(disable : 4251)
129 static constexpr const char *path{
"" };
132 static constexpr const char *name{
"CameraInfo" };
135 static constexpr const char *description{
136 R
"description(Information about camera model, serial number etc.)description"
139 static constexpr size_t version{ 1 };
149 static constexpr std::array<uint8_t, 3> binaryId{
'n',
'f',
'o' };
163 static constexpr const char *path{
"FirmwareVersion" };
166 static constexpr const char *name{
"FirmwareVersion" };
169 static constexpr const char *description{ R
"description(The firmware version on the camera)description" };
177 return { 0, std::numeric_limits<ValueType::size_type>::max() };
185 : m_value{ std::move(value) }
197 return m_value == other.m_value;
203 return m_value != other.m_value;
209 return m_value < other.m_value;
215 return m_value > other.m_value;
221 return m_value <= other.m_value;
227 return m_value >= other.m_value;
237 void setFromString(
const std::string &value);
239 std::string m_value{};
254 static constexpr const char *path{
"Model" };
257 static constexpr const char *name{
"Model" };
260 static constexpr const char *description{ R
"description(The model of the camera)description" };
280 return { ValueType::zividOnePlusSmall,
281 ValueType::zividOnePlusMedium,
282 ValueType::zividOnePlusLarge,
284 ValueType::zividTwoL100 };
292 : m_value{ verifyValue(value) }
310 return m_value == other.m_value;
316 return m_value != other.m_value;
326 void setFromString(
const std::string &value);
328 constexpr ValueType
static verifyValue(
const ValueType &value)
330 return value == ValueType::zividOnePlusSmall || value == ValueType::zividOnePlusMedium
331 || value == ValueType::zividOnePlusLarge || value == ValueType::zividTwo
332 || value == ValueType::zividTwoL100
334 :
throw std::invalid_argument{
335 "Invalid value: Model{ "
336 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
342 friend struct DataModel::Detail::Befriend<
Model>;
355 static constexpr const char *path{
"ModelName" };
358 static constexpr const char *name{
"ModelName" };
361 static constexpr const char *description{ R
"description(The model name of the camera)description" };
369 return { 0, std::numeric_limits<ValueType::size_type>::max() };
377 : m_value{ std::move(value) }
389 return m_value == other.m_value;
395 return m_value != other.m_value;
401 return m_value < other.m_value;
407 return m_value > other.m_value;
413 return m_value <= other.m_value;
419 return m_value >= other.m_value;
429 void setFromString(
const std::string &value);
431 std::string m_value{};
433 friend struct DataModel::Detail::Befriend<
ModelName>;
446 static constexpr const char *path{
"Revision" };
449 static constexpr const char *name{
"Revision" };
452 static constexpr const char *description{ R
"description(The hardware revision of the camera)description" };
464 static constexpr const char *path{
"Revision/Major" };
467 static constexpr const char *name{
"Major" };
470 static constexpr const char *description{ R
"description(Major hardware revision number)description" };
478 return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
485 explicit constexpr Major(uint32_t value)
498 return m_value == other.m_value;
504 return m_value != other.m_value;
510 return m_value < other.m_value;
516 return m_value > other.m_value;
522 return m_value <= other.m_value;
528 return m_value >= other.m_value;
538 void setFromString(
const std::string &value);
540 uint32_t m_value{ 0 };
542 friend struct DataModel::Detail::Befriend<
Major>;
555 static constexpr const char *path{
"Revision/Minor" };
558 static constexpr const char *name{
"Minor" };
561 static constexpr const char *description{ R
"description(Minor hardware revision number)description" };
569 return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
576 explicit constexpr Minor(uint32_t value)
589 return m_value == other.m_value;
595 return m_value != other.m_value;
601 return m_value < other.m_value;
607 return m_value > other.m_value;
613 return m_value <= other.m_value;
619 return m_value >= other.m_value;
629 void setFromString(
const std::string &value);
631 uint32_t m_value{ 0 };
633 friend struct DataModel::Detail::Befriend<
Minor>;
636 using Descendants = std::tuple<CameraInfo::Revision::Major, CameraInfo::Revision::Minor>;
656 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
657 typename std::enable_if<
658 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
662 template<typename... Args>
666 using namespace Zivid::Detail::TypeTraits;
669 AllArgsDecayedAreUnique<Args...>::value,
670 "Found duplicate types among the arguments passed to Revision(...). "
671 "Types should be listed at most once.");
673 set(std::forward<Args>(args)...);
688 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
690 template<typename... Args>
694 using namespace Zivid::Detail::TypeTraits;
696 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
698 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
701 AllArgsDecayedAreUnique<Args...>::value,
702 "Found duplicate types among the arguments passed to set(...). "
703 "Types should be listed at most once.");
705 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
721 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
723 template<typename... Args>
727 using namespace Zivid::Detail::TypeTraits;
729 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
731 AllArgsAreDescendantNodes::value,
732 "All arguments passed to copyWith(...) must be descendant nodes.");
735 AllArgsDecayedAreUnique<Args...>::value,
736 "Found duplicate types among the arguments passed to copyWith(...). "
737 "Types should be listed at most once.");
740 copy.
set(std::forward<Args>(args)...);
784 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value,
int>::type = 0>
792 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value,
int>::type = 0>
798 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
804 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
842 void setFromString(
const std::string &value);
844 void setFromString(
const std::string &fullPath,
const std::string &value);
846 std::string getString(
const std::string &fullPath)
const;
851 friend struct DataModel::Detail::Befriend<
Revision>;
864 static constexpr const char *path{
"SerialNumber" };
867 static constexpr const char *name{
"SerialNumber" };
870 static constexpr const char *description{ R
"description(The serial number of the camera)description" };
878 return { 0, std::numeric_limits<ValueType::size_type>::max() };
886 : m_value{ std::move(value) }
898 return m_value == other.m_value;
904 return m_value != other.m_value;
910 return m_value < other.m_value;
916 return m_value > other.m_value;
922 return m_value <= other.m_value;
928 return m_value >= other.m_value;
938 void setFromString(
const std::string &value);
940 std::string m_value{};
942 friend struct DataModel::Detail::Befriend<
SerialNumber>;
955 static constexpr const char *path{
"UserData" };
958 static constexpr const char *name{
"UserData" };
961 static constexpr const char *description{
962 R
"description(Information about user data capabilities of the camera)description"
975 static constexpr const char *path{
"UserData/MaxSizeBytes" };
978 static constexpr const char *name{
"MaxSizeBytes" };
981 static constexpr const char *description{
982 R
"description(The maximum number of bytes of user data that can be stored in the camera)description"
991 return { std::numeric_limits<uint64_t>::lowest(), std::numeric_limits<uint64_t>::max() };
1011 return m_value == other.m_value;
1017 return m_value != other.m_value;
1023 return m_value < other.m_value;
1029 return m_value > other.m_value;
1035 return m_value <= other.m_value;
1041 return m_value >= other.m_value;
1051 void setFromString(
const std::string &value);
1053 uint64_t m_value{ 0 };
1055 friend struct DataModel::Detail::Befriend<
MaxSizeBytes>;
1077 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1078 typename std::enable_if<
1079 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1083 template<typename... Args>
1087 using namespace Zivid::Detail::TypeTraits;
1090 AllArgsDecayedAreUnique<Args...>::value,
1091 "Found duplicate types among the arguments passed to UserData(...). "
1092 "Types should be listed at most once.");
1094 set(std::forward<Args>(args)...);
1108 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1110 template<typename... Args>
1114 using namespace Zivid::Detail::TypeTraits;
1116 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1118 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1121 AllArgsDecayedAreUnique<Args...>::value,
1122 "Found duplicate types among the arguments passed to set(...). "
1123 "Types should be listed at most once.");
1125 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1140 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1142 template<typename... Args>
1146 using namespace Zivid::Detail::TypeTraits;
1148 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1150 AllArgsAreDescendantNodes::value,
1151 "All arguments passed to copyWith(...) must be descendant nodes.");
1154 AllArgsDecayedAreUnique<Args...>::value,
1155 "Found duplicate types among the arguments passed to copyWith(...). "
1156 "Types should be listed at most once.");
1159 copy.
set(std::forward<Args>(args)...);
1166 return m_maxSizeBytes;
1172 return m_maxSizeBytes;
1178 m_maxSizeBytes = value;
1184 typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value,
int>::type = 0>
1187 return m_maxSizeBytes;
1190 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1193 return m_maxSizeBytes;
1197 template<
typename F>
1204 template<
typename F>
1226 void setFromString(
const std::string &value);
1228 void setFromString(
const std::string &fullPath,
const std::string &value);
1230 std::string getString(
const std::string &fullPath)
const;
1234 friend struct DataModel::Detail::Befriend<
UserData>;
1276 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1277 typename std::enable_if<
1278 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
1281 template<typename... Args>
1285 using namespace Zivid::Detail::TypeTraits;
1288 AllArgsDecayedAreUnique<Args...>::value,
1289 "Found duplicate types among the arguments passed to CameraInfo(...). "
1290 "Types should be listed at most once.");
1292 set(std::forward<Args>(args)...);
1314 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1316 template<typename... Args>
1320 using namespace Zivid::Detail::TypeTraits;
1322 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1324 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1327 AllArgsDecayedAreUnique<Args...>::value,
1328 "Found duplicate types among the arguments passed to set(...). "
1329 "Types should be listed at most once.");
1331 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1354 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1356 template<typename... Args>
1360 using namespace Zivid::Detail::TypeTraits;
1362 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1364 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
1367 AllArgsDecayedAreUnique<Args...>::value,
1368 "Found duplicate types among the arguments passed to copyWith(...). "
1369 "Types should be listed at most once.");
1372 copy.
set(std::forward<Args>(args)...);
1379 return m_firmwareVersion;
1385 return m_firmwareVersion;
1391 m_firmwareVersion = value;
1429 m_modelName = value;
1455 m_revision.
set(value);
1462 m_revision.
set(value);
1469 return m_serialNumber;
1475 return m_serialNumber;
1481 m_serialNumber = value;
1507 m_userData.
set(value);
1513 typename std::enable_if<std::is_same<T, CameraInfo::FirmwareVersion>::value,
int>::type = 0>
1516 return m_firmwareVersion;
1519 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Model>::value,
int>::type = 0>
1525 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::ModelName>::value,
int>::type = 0>
1531 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Revision>::value,
int>::type = 0>
1539 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value,
int>::type = 0>
1547 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value,
int>::type = 0>
1553 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::SerialNumber>::value,
int>::type = 0>
1556 return m_serialNumber;
1559 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::UserData>::value,
int>::type = 0>
1567 typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value,
int>::type = 0>
1573 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1576 return m_firmwareVersion;
1579 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1585 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1591 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
1597 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
1600 return m_serialNumber;
1603 template<size_t i, typename std::enable_if<i == 5, int>::type = 0>
1610 template<
typename F>
1613 f(m_firmwareVersion);
1622 template<
typename F>
1625 f(m_firmwareVersion);
1649 void save(
const std::string &fileName)
const;
1652 void load(
const std::string &fileName);
1655 void setFromString(
const std::string &value);
1657 void setFromString(
const std::string &fullPath,
const std::string &value);
1659 std::string getString(
const std::string &fullPath)
const;
1668 friend struct DataModel::Detail::Befriend<
CameraInfo>;
1682 struct CameraInfo::Version<1>
1691# pragma warning(pop)
1695# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
1700 struct tuple_size<
Zivid::CameraInfo::Revision> : integral_constant<size_t, 2>
1704 struct tuple_element<i,
Zivid::CameraInfo::Revision>
1706 static_assert(i < tuple_size<Zivid::CameraInfo::Revision>::value,
"Index must be less than 2");
1709 =
decltype(declval<Zivid::CameraInfo::Revision>().get<i>());
1713 struct tuple_size<
Zivid::CameraInfo::UserData> : integral_constant<size_t, 1>
1717 struct tuple_element<i,
Zivid::CameraInfo::UserData>
1719 static_assert(i < tuple_size<Zivid::CameraInfo::UserData>::value,
"Index must be less than 1");
1722 =
decltype(declval<Zivid::CameraInfo::UserData>().get<i>());
1726 struct tuple_size<
Zivid::CameraInfo> : integral_constant<size_t, 6>
1730 struct tuple_element<i,
Zivid::CameraInfo>
1732 static_assert(i < tuple_size<Zivid::CameraInfo>::value,
"Index must be less than 6");
1735 =
decltype(declval<Zivid::CameraInfo>().get<i>());
1744#if defined(__has_include) && !defined(NO_DOC)
1745# if __has_include("Zivid/CameraInfoInternal.h") && __has_include("Zivid/DataModelNodeMetaData.h")
1746# include "Zivid/CameraInfoInternal.h"
#define ZIVID_CORE_EXPORT
Definition: CoreExport.h:101
The firmware version on the camera
Definition: CameraInfo.h:157
std::string toString() const
Get the value as string
bool operator==(const FirmwareVersion &other) const
Comparison operator
Definition: CameraInfo.h:195
FirmwareVersion(std::string value)
Constructor
Definition: CameraInfo.h:184
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for FirmwareVersion
Definition: CameraInfo.h:175
bool operator<(const FirmwareVersion &other) const
Comparison operator
Definition: CameraInfo.h:207
bool operator<=(const FirmwareVersion &other) const
Comparison operator
Definition: CameraInfo.h:219
bool operator>=(const FirmwareVersion &other) const
Comparison operator
Definition: CameraInfo.h:225
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:231
bool operator>(const FirmwareVersion &other) const
Comparison operator
Definition: CameraInfo.h:213
bool operator!=(const FirmwareVersion &other) const
Comparison operator
Definition: CameraInfo.h:201
std::string ValueType
The type of the underlying value
Definition: CameraInfo.h:172
FirmwareVersion()=default
Default constructor
The model name of the camera
Definition: CameraInfo.h:349
bool operator==(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:387
ModelName()=default
Default constructor
bool operator<=(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:411
std::string toString() const
Get the value as string
ModelName(std::string value)
Constructor
Definition: CameraInfo.h:376
std::string ValueType
The type of the underlying value
Definition: CameraInfo.h:364
bool operator<(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:399
bool operator>(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:405
friend std::ostream & operator<<(std::ostream &stream, const ModelName &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:423
const std::string & value() const
Get the value
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for ModelName
Definition: CameraInfo.h:367
bool operator>=(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:417
bool operator!=(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:393
The model of the camera
Definition: CameraInfo.h:248
static const Model zividOnePlusSmall
zividOnePlusSmall
Definition: CameraInfo.h:271
static const Model zividTwo
zividTwo
Definition: CameraInfo.h:274
std::string toString() const
Get the value as string
constexpr Model(ValueType value)
Constructor
Definition: CameraInfo.h:291
Model()=default
Default constructor
static const Model zividOnePlusMedium
zividOnePlusMedium
Definition: CameraInfo.h:272
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:302
friend std::ostream & operator<<(std::ostream &stream, const Model &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:320
static std::set< ValueType > validValues()
All valid values of Model
Definition: CameraInfo.h:278
ValueType
The type of the underlying value
Definition: CameraInfo.h:264
static const Model zividOnePlusLarge
zividOnePlusLarge
Definition: CameraInfo.h:273
bool operator!=(const Model &other) const
Comparison operator
Definition: CameraInfo.h:314
static const Model zividTwoL100
zividTwoL100
Definition: CameraInfo.h:275
bool operator==(const Model &other) const
Comparison operator
Definition: CameraInfo.h:308
Major hardware revision number
Definition: CameraInfo.h:458
std::string toString() const
Get the value as string
bool operator!=(const Major &other) const
Comparison operator
Definition: CameraInfo.h:502
uint32_t ValueType
The type of the underlying value
Definition: CameraInfo.h:473
friend std::ostream & operator<<(std::ostream &stream, const Major &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:532
static constexpr Range< uint32_t > validRange()
The range of valid values for Major
Definition: CameraInfo.h:476
bool operator>=(const Major &other) const
Comparison operator
Definition: CameraInfo.h:526
bool operator<=(const Major &other) const
Comparison operator
Definition: CameraInfo.h:520
bool operator>(const Major &other) const
Comparison operator
Definition: CameraInfo.h:514
uint32_t value() const
Get the value
constexpr Major(uint32_t value)
Constructor
Definition: CameraInfo.h:485
bool operator<(const Major &other) const
Comparison operator
Definition: CameraInfo.h:508
Major()=default
Default constructor
bool operator==(const Major &other) const
Comparison operator
Definition: CameraInfo.h:496
Minor hardware revision number
Definition: CameraInfo.h:549
bool operator>(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:605
bool operator!=(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:593
bool operator<=(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:611
constexpr Minor(uint32_t value)
Constructor
Definition: CameraInfo.h:576
uint32_t ValueType
The type of the underlying value
Definition: CameraInfo.h:564
friend std::ostream & operator<<(std::ostream &stream, const Minor &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:623
bool operator==(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:587
std::string toString() const
Get the value as string
Minor()=default
Default constructor
bool operator>=(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:617
bool operator<(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:599
static constexpr Range< uint32_t > validRange()
The range of valid values for Minor
Definition: CameraInfo.h:567
uint32_t value() const
Get the value
The hardware revision of the camera
Definition: CameraInfo.h:440
const Major & major() const
Get Major
Definition: CameraInfo.h:745
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:725
Minor & minor()
Get Minor
Definition: CameraInfo.h:770
Revision & set(const Minor &value)
Set Minor
Definition: CameraInfo.h:776
std::tuple< CameraInfo::Revision::Major, CameraInfo::Revision::Minor > Descendants
Definition: CameraInfo.h:636
Revision & set(const Major &value)
Set Major
Definition: CameraInfo.h:757
bool operator==(const Revision &other) const
Equality operator
const CameraInfo::Revision::Minor & get() const
Definition: CameraInfo.h:793
std::string toString() const
Get the value as string
const Minor & minor() const
Get Minor
Definition: CameraInfo.h:764
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: CameraInfo.h:820
Major & major()
Get Major
Definition: CameraInfo.h:751
const CameraInfo::Revision::Major & get() const
Definition: CameraInfo.h:785
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:812
Revision(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraInfo.h:664
friend std::ostream & operator<<(std::ostream &stream, const Revision &value)
Operator to send the value as string to a stream
Definition: CameraInfo.h:836
void set(Args &&...args)
Set multiple arguments
Definition: CameraInfo.h:692
bool operator!=(const Revision &other) const
Inequality operator
The serial number of the camera
Definition: CameraInfo.h:858
SerialNumber(std::string value)
Constructor
Definition: CameraInfo.h:885
const std::string & value() const
Get the value
bool operator==(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:896
std::string ValueType
The type of the underlying value
Definition: CameraInfo.h:873
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:932
std::string toString() const
Get the value as string
bool operator>(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:914
bool operator<(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:908
bool operator<=(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:920
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for SerialNumber
Definition: CameraInfo.h:876
bool operator>=(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:926
bool operator!=(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:902
The maximum number of bytes of user data that can be stored in the camera
Definition: CameraInfo.h:969
bool operator!=(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:1015
bool operator<=(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:1033
bool operator>(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:1027
MaxSizeBytes()=default
Default constructor
constexpr MaxSizeBytes(uint64_t value)
Constructor
Definition: CameraInfo.h:998
uint64_t value() const
Get the value
bool operator<(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:1021
bool operator==(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:1009
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:1045
static constexpr Range< uint64_t > validRange()
The range of valid values for MaxSizeBytes
Definition: CameraInfo.h:989
uint64_t ValueType
The type of the underlying value
Definition: CameraInfo.h:986
bool operator>=(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:1039
Information about user data capabilities of the camera
Definition: CameraInfo.h:949
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:1205
MaxSizeBytes & maxSizeBytes()
Get MaxSizeBytes
Definition: CameraInfo.h:1170
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:1144
friend std::ostream & operator<<(std::ostream &stream, const UserData &value)
Operator to send the value as string to a stream
Definition: CameraInfo.h:1220
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:1198
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition: CameraInfo.h:1185
std::tuple< CameraInfo::UserData::MaxSizeBytes > Descendants
Definition: CameraInfo.h:1058
bool operator!=(const UserData &other) const
Inequality operator
UserData()
Default constructor
UserData(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraInfo.h:1085
const MaxSizeBytes & maxSizeBytes() const
Get MaxSizeBytes
Definition: CameraInfo.h:1164
UserData & set(const MaxSizeBytes &value)
Set MaxSizeBytes
Definition: CameraInfo.h:1176
void set(Args &&...args)
Set multiple arguments
Definition: CameraInfo.h:1112
Information about camera model, serial number etc.
Definition: CameraInfo.h:123
bool operator==(const CameraInfo &other) const
Equality operator
Revision & revision()
Get Revision
Definition: CameraInfo.h:1440
const ModelName & modelName() const
Get ModelName
Definition: CameraInfo.h:1415
FirmwareVersion & firmwareVersion()
Get FirmwareVersion
Definition: CameraInfo.h:1383
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: CameraInfo.h:1623
const UserData & userData() const
Get UserData
Definition: CameraInfo.h:1486
ModelName & modelName()
Get ModelName
Definition: CameraInfo.h:1421
bool operator!=(const CameraInfo &other) const
Inequality operator
CameraInfo & set(const Model &value)
Set Model
Definition: CameraInfo.h:1408
const CameraInfo::FirmwareVersion & get() const
Definition: CameraInfo.h:1514
const CameraInfo::Model & get() const
Definition: CameraInfo.h:1520
CameraInfo(const std::string &fileName)
Construct CameraInfo by loading from file
UserData & userData()
Get UserData
Definition: CameraInfo.h:1492
CameraInfo & set(const ModelName &value)
Set ModelName
Definition: CameraInfo.h:1427
const FirmwareVersion & firmwareVersion() const
Get FirmwareVersion
Definition: CameraInfo.h:1377
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition: CameraInfo.h:1568
const Model & model() const
Get Model
Definition: CameraInfo.h:1396
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:1358
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:1611
Model & model()
Get Model
Definition: CameraInfo.h:1402
friend std::ostream & operator<<(std::ostream &stream, const CameraInfo &value)
Operator to send the value as string to a stream
Definition: CameraInfo.h:1643
const CameraInfo::ModelName & get() const
Definition: CameraInfo.h:1526
CameraInfo & set(const UserData &value)
Set UserData
Definition: CameraInfo.h:1498
CameraInfo & set(const UserData::MaxSizeBytes &value)
Set UserData::MaxSizeBytes
Definition: CameraInfo.h:1505
CameraInfo(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraInfo.h:1283
const CameraInfo::UserData & get() const
Definition: CameraInfo.h:1560
const CameraInfo::Revision::Minor & get() const
Definition: CameraInfo.h:1548
const SerialNumber & serialNumber() const
Get SerialNumber
Definition: CameraInfo.h:1467
SerialNumber & serialNumber()
Get SerialNumber
Definition: CameraInfo.h:1473
const Revision & revision() const
Get Revision
Definition: CameraInfo.h:1434
std::tuple< CameraInfo::FirmwareVersion, CameraInfo::Model, CameraInfo::ModelName, CameraInfo::Revision, CameraInfo::Revision::Major, CameraInfo::Revision::Minor, CameraInfo::SerialNumber, CameraInfo::UserData, CameraInfo::UserData::MaxSizeBytes > Descendants
Definition: CameraInfo.h:1246
void load(const std::string &fileName)
Load from the given file
CameraInfo & set(const FirmwareVersion &value)
Set FirmwareVersion
Definition: CameraInfo.h:1389
const CameraInfo::Revision::Major & get() const
Definition: CameraInfo.h:1540
void set(Args &&...args)
Set multiple arguments
Definition: CameraInfo.h:1318
CameraInfo & set(const Revision &value)
Set Revision
Definition: CameraInfo.h:1446
CameraInfo & set(const Revision::Major &value)
Set Revision::Major
Definition: CameraInfo.h:1453
CameraInfo & set(const SerialNumber &value)
Set SerialNumber
Definition: CameraInfo.h:1479
const CameraInfo::SerialNumber & get() const
Definition: CameraInfo.h:1554
const CameraInfo::Revision & get() const
Definition: CameraInfo.h:1532
std::string toString() const
Get the value as string
CameraInfo()
Default constructor
CameraInfo & set(const Revision::Minor &value)
Set Revision::Minor
Definition: CameraInfo.h:1460
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:118
NodeType
Definition: NodeType.h:100
The main Zivid namespace. All Zivid code is found here
Definition: Application.h:99