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{ 4 };
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" };
286 return { ValueType::zividOnePlusSmall, ValueType::zividOnePlusMedium, ValueType::zividOnePlusLarge,
287 ValueType::zividTwo, ValueType::zividTwoL100, ValueType::zivid2PlusM130,
288 ValueType::zivid2PlusM60, ValueType::zivid2PlusL110 };
296 : m_value{ verifyValue(value) }
314 return m_value == other.m_value;
320 return m_value != other.m_value;
330 void setFromString(
const std::string &value);
332 constexpr ValueType
static verifyValue(
const ValueType &value)
334 return value == ValueType::zividOnePlusSmall || value == ValueType::zividOnePlusMedium
335 || value == ValueType::zividOnePlusLarge || value == ValueType::zividTwo
336 || value == ValueType::zividTwoL100 || value == ValueType::zivid2PlusM130
337 || value == ValueType::zivid2PlusM60 || value == ValueType::zivid2PlusL110
339 :
throw std::invalid_argument{
340 "Invalid value: Model{ "
341 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
347 friend struct DataModel::Detail::Befriend<
Model>;
362 static constexpr const char *path{
"ModelName" };
365 static constexpr const char *name{
"ModelName" };
368 static constexpr const char *description{
369 R
"description(The model name of the camera. This is a user-friendly display name that may contain spaces and special
370characters. We recommend to use `Model` instead if you want to programmatically check for camera model.
380 return { 0, std::numeric_limits<ValueType::size_type>::max() };
388 : m_value{ std::move(value) }
400 return m_value == other.m_value;
406 return m_value != other.m_value;
412 return m_value < other.m_value;
418 return m_value > other.m_value;
424 return m_value <= other.m_value;
430 return m_value >= other.m_value;
440 void setFromString(
const std::string &value);
442 std::string m_value{};
444 friend struct DataModel::Detail::Befriend<
ModelName>;
457 static constexpr const char *path{
"Revision" };
460 static constexpr const char *name{
"Revision" };
463 static constexpr const char *description{ R
"description(The hardware revision of the camera)description" };
475 static constexpr const char *path{
"Revision/Major" };
478 static constexpr const char *name{
"Major" };
481 static constexpr const char *description{ R
"description(Major hardware revision number)description" };
489 return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
496 explicit constexpr Major(uint32_t value)
509 return m_value == other.m_value;
515 return m_value != other.m_value;
521 return m_value < other.m_value;
527 return m_value > other.m_value;
533 return m_value <= other.m_value;
539 return m_value >= other.m_value;
549 void setFromString(
const std::string &value);
551 uint32_t m_value{ 0 };
553 friend struct DataModel::Detail::Befriend<
Major>;
566 static constexpr const char *path{
"Revision/Minor" };
569 static constexpr const char *name{
"Minor" };
572 static constexpr const char *description{ R
"description(Minor hardware revision number)description" };
580 return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
587 explicit constexpr Minor(uint32_t value)
600 return m_value == other.m_value;
606 return m_value != other.m_value;
612 return m_value < other.m_value;
618 return m_value > other.m_value;
624 return m_value <= other.m_value;
630 return m_value >= other.m_value;
640 void setFromString(
const std::string &value);
642 uint32_t m_value{ 0 };
644 friend struct DataModel::Detail::Befriend<
Minor>;
647 using Descendants = std::tuple<CameraInfo::Revision::Major, CameraInfo::Revision::Minor>;
667 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
668 typename std::enable_if<
669 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
673 template<typename... Args>
677 using namespace Zivid::Detail::TypeTraits;
680 AllArgsDecayedAreUnique<Args...>::value,
681 "Found duplicate types among the arguments passed to Revision(...). "
682 "Types should be listed at most once.");
684 set(std::forward<Args>(args)...);
699 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
701 template<typename... Args>
705 using namespace Zivid::Detail::TypeTraits;
707 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
709 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
712 AllArgsDecayedAreUnique<Args...>::value,
713 "Found duplicate types among the arguments passed to set(...). "
714 "Types should be listed at most once.");
716 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
732 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
734 template<typename... Args>
738 using namespace Zivid::Detail::TypeTraits;
740 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
742 AllArgsAreDescendantNodes::value,
743 "All arguments passed to copyWith(...) must be descendant nodes.");
746 AllArgsDecayedAreUnique<Args...>::value,
747 "Found duplicate types among the arguments passed to copyWith(...). "
748 "Types should be listed at most once.");
751 copy.
set(std::forward<Args>(args)...);
795 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value,
int>::type = 0>
803 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value,
int>::type = 0>
809 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
815 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
853 void setFromString(
const std::string &value);
855 void setFromString(
const std::string &fullPath,
const std::string &value);
857 std::string getString(
const std::string &fullPath)
const;
862 friend struct DataModel::Detail::Befriend<
Revision>;
875 static constexpr const char *path{
"SerialNumber" };
878 static constexpr const char *name{
"SerialNumber" };
881 static constexpr const char *description{ R
"description(The serial number of the camera)description" };
889 return { 0, std::numeric_limits<ValueType::size_type>::max() };
897 : m_value{ std::move(value) }
909 return m_value == other.m_value;
915 return m_value != other.m_value;
921 return m_value < other.m_value;
927 return m_value > other.m_value;
933 return m_value <= other.m_value;
939 return m_value >= other.m_value;
949 void setFromString(
const std::string &value);
951 std::string m_value{};
953 friend struct DataModel::Detail::Befriend<
SerialNumber>;
966 static constexpr const char *path{
"UserData" };
969 static constexpr const char *name{
"UserData" };
972 static constexpr const char *description{
973 R
"description(Information about user data capabilities of the camera)description"
986 static constexpr const char *path{
"UserData/MaxSizeBytes" };
989 static constexpr const char *name{
"MaxSizeBytes" };
992 static constexpr const char *description{
993 R
"description(The maximum number of bytes of user data that can be stored in the camera)description"
1002 return { std::numeric_limits<uint64_t>::lowest(), std::numeric_limits<uint64_t>::max() };
1022 return m_value == other.m_value;
1028 return m_value != other.m_value;
1034 return m_value < other.m_value;
1040 return m_value > other.m_value;
1046 return m_value <= other.m_value;
1052 return m_value >= other.m_value;
1062 void setFromString(
const std::string &value);
1064 uint64_t m_value{ 0 };
1066 friend struct DataModel::Detail::Befriend<
MaxSizeBytes>;
1088 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1089 typename std::enable_if<
1090 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1094 template<typename... Args>
1098 using namespace Zivid::Detail::TypeTraits;
1101 AllArgsDecayedAreUnique<Args...>::value,
1102 "Found duplicate types among the arguments passed to UserData(...). "
1103 "Types should be listed at most once.");
1105 set(std::forward<Args>(args)...);
1119 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1121 template<typename... Args>
1125 using namespace Zivid::Detail::TypeTraits;
1127 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1129 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1132 AllArgsDecayedAreUnique<Args...>::value,
1133 "Found duplicate types among the arguments passed to set(...). "
1134 "Types should be listed at most once.");
1136 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1151 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1153 template<typename... Args>
1157 using namespace Zivid::Detail::TypeTraits;
1159 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1161 AllArgsAreDescendantNodes::value,
1162 "All arguments passed to copyWith(...) must be descendant nodes.");
1165 AllArgsDecayedAreUnique<Args...>::value,
1166 "Found duplicate types among the arguments passed to copyWith(...). "
1167 "Types should be listed at most once.");
1170 copy.
set(std::forward<Args>(args)...);
1177 return m_maxSizeBytes;
1183 return m_maxSizeBytes;
1189 m_maxSizeBytes = value;
1195 typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value,
int>::type = 0>
1198 return m_maxSizeBytes;
1201 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1204 return m_maxSizeBytes;
1208 template<
typename F>
1215 template<
typename F>
1237 void setFromString(
const std::string &value);
1239 void setFromString(
const std::string &fullPath,
const std::string &value);
1241 std::string getString(
const std::string &fullPath)
const;
1245 friend struct DataModel::Detail::Befriend<
UserData>;
1287 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1288 typename std::enable_if<
1289 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
1292 template<typename... Args>
1296 using namespace Zivid::Detail::TypeTraits;
1299 AllArgsDecayedAreUnique<Args...>::value,
1300 "Found duplicate types among the arguments passed to CameraInfo(...). "
1301 "Types should be listed at most once.");
1303 set(std::forward<Args>(args)...);
1325 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1327 template<typename... Args>
1331 using namespace Zivid::Detail::TypeTraits;
1333 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1335 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1338 AllArgsDecayedAreUnique<Args...>::value,
1339 "Found duplicate types among the arguments passed to set(...). "
1340 "Types should be listed at most once.");
1342 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1365 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1367 template<typename... Args>
1371 using namespace Zivid::Detail::TypeTraits;
1373 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1375 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
1378 AllArgsDecayedAreUnique<Args...>::value,
1379 "Found duplicate types among the arguments passed to copyWith(...). "
1380 "Types should be listed at most once.");
1383 copy.
set(std::forward<Args>(args)...);
1390 return m_firmwareVersion;
1396 return m_firmwareVersion;
1402 m_firmwareVersion = value;
1440 m_modelName = value;
1466 m_revision.
set(value);
1473 m_revision.
set(value);
1480 return m_serialNumber;
1486 return m_serialNumber;
1492 m_serialNumber = value;
1518 m_userData.
set(value);
1524 typename std::enable_if<std::is_same<T, CameraInfo::FirmwareVersion>::value,
int>::type = 0>
1527 return m_firmwareVersion;
1530 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Model>::value,
int>::type = 0>
1536 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::ModelName>::value,
int>::type = 0>
1542 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Revision>::value,
int>::type = 0>
1550 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value,
int>::type = 0>
1558 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value,
int>::type = 0>
1564 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::SerialNumber>::value,
int>::type = 0>
1567 return m_serialNumber;
1570 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::UserData>::value,
int>::type = 0>
1578 typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value,
int>::type = 0>
1584 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1587 return m_firmwareVersion;
1590 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1596 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1602 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
1608 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
1611 return m_serialNumber;
1614 template<size_t i, typename std::enable_if<i == 5, int>::type = 0>
1621 template<
typename F>
1624 f(m_firmwareVersion);
1633 template<
typename F>
1636 f(m_firmwareVersion);
1660 void save(
const std::string &fileName)
const;
1663 void load(
const std::string &fileName);
1666 void setFromString(
const std::string &value);
1668 void setFromString(
const std::string &fullPath,
const std::string &value);
1670 std::string getString(
const std::string &fullPath)
const;
1679 friend struct DataModel::Detail::Befriend<
CameraInfo>;
1693 struct CameraInfo::Version<4>
1702# pragma warning(pop)
1706# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
1711 struct tuple_size<
Zivid::CameraInfo::Revision> : integral_constant<size_t, 2>
1715 struct tuple_element<i,
Zivid::CameraInfo::Revision>
1717 static_assert(i < tuple_size<Zivid::CameraInfo::Revision>::value,
"Index must be less than 2");
1720 =
decltype(declval<Zivid::CameraInfo::Revision>().get<i>());
1724 struct tuple_size<
Zivid::CameraInfo::UserData> : integral_constant<size_t, 1>
1728 struct tuple_element<i,
Zivid::CameraInfo::UserData>
1730 static_assert(i < tuple_size<Zivid::CameraInfo::UserData>::value,
"Index must be less than 1");
1733 =
decltype(declval<Zivid::CameraInfo::UserData>().get<i>());
1737 struct tuple_size<
Zivid::CameraInfo> : integral_constant<size_t, 6>
1741 struct tuple_element<i,
Zivid::CameraInfo>
1743 static_assert(i < tuple_size<Zivid::CameraInfo>::value,
"Index must be less than 6");
1746 =
decltype(declval<Zivid::CameraInfo>().get<i>());
1755#if defined(__has_include) && !defined(NO_DOC)
1756# if __has_include("Zivid/CameraInfoInternal.h") && __has_include("Zivid/DataModelNodeMetaData.h")
1757# 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. This is a user-friendly display name that may contain spaces and specia...
Definition: CameraInfo.h:356
bool operator==(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:398
ModelName()=default
Default constructor
bool operator<=(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:422
std::string toString() const
Get the value as string
ModelName(std::string value)
Constructor
Definition: CameraInfo.h:387
std::string ValueType
The type of the underlying value
Definition: CameraInfo.h:375
bool operator<(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:410
bool operator>(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:416
friend std::ostream & operator<<(std::ostream &stream, const ModelName &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:434
const std::string & value() const
Get the value
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for ModelName
Definition: CameraInfo.h:378
bool operator>=(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:428
bool operator!=(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:404
The model of the camera
Definition: CameraInfo.h:248
static const Model zividOnePlusSmall
zividOnePlusSmall
Definition: CameraInfo.h:274
static const Model zivid2PlusM130
zivid2PlusM130
Definition: CameraInfo.h:279
static const Model zividTwo
zividTwo
Definition: CameraInfo.h:277
static const Model zivid2PlusL110
zivid2PlusL110
Definition: CameraInfo.h:281
std::string toString() const
Get the value as string
constexpr Model(ValueType value)
Constructor
Definition: CameraInfo.h:295
Model()=default
Default constructor
static const Model zividOnePlusMedium
zividOnePlusMedium
Definition: CameraInfo.h:275
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:306
static const Model zivid2PlusM60
zivid2PlusM60
Definition: CameraInfo.h:280
friend std::ostream & operator<<(std::ostream &stream, const Model &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:324
static std::set< ValueType > validValues()
All valid values of Model
Definition: CameraInfo.h:284
ValueType
The type of the underlying value
Definition: CameraInfo.h:264
static const Model zividOnePlusLarge
zividOnePlusLarge
Definition: CameraInfo.h:276
bool operator!=(const Model &other) const
Comparison operator
Definition: CameraInfo.h:318
static const Model zividTwoL100
zividTwoL100
Definition: CameraInfo.h:278
bool operator==(const Model &other) const
Comparison operator
Definition: CameraInfo.h:312
Major hardware revision number
Definition: CameraInfo.h:469
std::string toString() const
Get the value as string
bool operator!=(const Major &other) const
Comparison operator
Definition: CameraInfo.h:513
uint32_t ValueType
The type of the underlying value
Definition: CameraInfo.h:484
friend std::ostream & operator<<(std::ostream &stream, const Major &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:543
static constexpr Range< uint32_t > validRange()
The range of valid values for Major
Definition: CameraInfo.h:487
bool operator>=(const Major &other) const
Comparison operator
Definition: CameraInfo.h:537
bool operator<=(const Major &other) const
Comparison operator
Definition: CameraInfo.h:531
bool operator>(const Major &other) const
Comparison operator
Definition: CameraInfo.h:525
uint32_t value() const
Get the value
constexpr Major(uint32_t value)
Constructor
Definition: CameraInfo.h:496
bool operator<(const Major &other) const
Comparison operator
Definition: CameraInfo.h:519
Major()=default
Default constructor
bool operator==(const Major &other) const
Comparison operator
Definition: CameraInfo.h:507
Minor hardware revision number
Definition: CameraInfo.h:560
bool operator>(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:616
bool operator!=(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:604
bool operator<=(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:622
constexpr Minor(uint32_t value)
Constructor
Definition: CameraInfo.h:587
uint32_t ValueType
The type of the underlying value
Definition: CameraInfo.h:575
friend std::ostream & operator<<(std::ostream &stream, const Minor &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:634
bool operator==(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:598
std::string toString() const
Get the value as string
Minor()=default
Default constructor
bool operator>=(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:628
bool operator<(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:610
static constexpr Range< uint32_t > validRange()
The range of valid values for Minor
Definition: CameraInfo.h:578
uint32_t value() const
Get the value
The hardware revision of the camera
Definition: CameraInfo.h:451
const Major & major() const
Get Major
Definition: CameraInfo.h:756
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:736
Minor & minor()
Get Minor
Definition: CameraInfo.h:781
Revision & set(const Minor &value)
Set Minor
Definition: CameraInfo.h:787
std::tuple< CameraInfo::Revision::Major, CameraInfo::Revision::Minor > Descendants
Definition: CameraInfo.h:647
Revision & set(const Major &value)
Set Major
Definition: CameraInfo.h:768
bool operator==(const Revision &other) const
Equality operator
const CameraInfo::Revision::Minor & get() const
Definition: CameraInfo.h:804
std::string toString() const
Get the value as string
const Minor & minor() const
Get Minor
Definition: CameraInfo.h:775
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: CameraInfo.h:831
Major & major()
Get Major
Definition: CameraInfo.h:762
const CameraInfo::Revision::Major & get() const
Definition: CameraInfo.h:796
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:823
Revision(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraInfo.h:675
friend std::ostream & operator<<(std::ostream &stream, const Revision &value)
Operator to send the value as string to a stream
Definition: CameraInfo.h:847
void set(Args &&...args)
Set multiple arguments
Definition: CameraInfo.h:703
bool operator!=(const Revision &other) const
Inequality operator
The serial number of the camera
Definition: CameraInfo.h:869
SerialNumber(std::string value)
Constructor
Definition: CameraInfo.h:896
const std::string & value() const
Get the value
bool operator==(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:907
std::string ValueType
The type of the underlying value
Definition: CameraInfo.h:884
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:943
std::string toString() const
Get the value as string
bool operator>(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:925
bool operator<(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:919
bool operator<=(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:931
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for SerialNumber
Definition: CameraInfo.h:887
bool operator>=(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:937
bool operator!=(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:913
The maximum number of bytes of user data that can be stored in the camera
Definition: CameraInfo.h:980
bool operator!=(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:1026
bool operator<=(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:1044
bool operator>(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:1038
MaxSizeBytes()=default
Default constructor
constexpr MaxSizeBytes(uint64_t value)
Constructor
Definition: CameraInfo.h:1009
uint64_t value() const
Get the value
bool operator<(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:1032
bool operator==(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:1020
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:1056
static constexpr Range< uint64_t > validRange()
The range of valid values for MaxSizeBytes
Definition: CameraInfo.h:1000
uint64_t ValueType
The type of the underlying value
Definition: CameraInfo.h:997
bool operator>=(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:1050
Information about user data capabilities of the camera
Definition: CameraInfo.h:960
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:1216
MaxSizeBytes & maxSizeBytes()
Get MaxSizeBytes
Definition: CameraInfo.h:1181
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:1155
friend std::ostream & operator<<(std::ostream &stream, const UserData &value)
Operator to send the value as string to a stream
Definition: CameraInfo.h:1231
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:1209
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition: CameraInfo.h:1196
std::tuple< CameraInfo::UserData::MaxSizeBytes > Descendants
Definition: CameraInfo.h:1069
bool operator!=(const UserData &other) const
Inequality operator
UserData()
Default constructor
UserData(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraInfo.h:1096
const MaxSizeBytes & maxSizeBytes() const
Get MaxSizeBytes
Definition: CameraInfo.h:1175
UserData & set(const MaxSizeBytes &value)
Set MaxSizeBytes
Definition: CameraInfo.h:1187
void set(Args &&...args)
Set multiple arguments
Definition: CameraInfo.h:1123
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:1451
const ModelName & modelName() const
Get ModelName
Definition: CameraInfo.h:1426
FirmwareVersion & firmwareVersion()
Get FirmwareVersion
Definition: CameraInfo.h:1394
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: CameraInfo.h:1634
const UserData & userData() const
Get UserData
Definition: CameraInfo.h:1497
ModelName & modelName()
Get ModelName
Definition: CameraInfo.h:1432
bool operator!=(const CameraInfo &other) const
Inequality operator
CameraInfo & set(const Model &value)
Set Model
Definition: CameraInfo.h:1419
const CameraInfo::FirmwareVersion & get() const
Definition: CameraInfo.h:1525
const CameraInfo::Model & get() const
Definition: CameraInfo.h:1531
CameraInfo(const std::string &fileName)
Construct CameraInfo by loading from file
UserData & userData()
Get UserData
Definition: CameraInfo.h:1503
CameraInfo & set(const ModelName &value)
Set ModelName
Definition: CameraInfo.h:1438
const FirmwareVersion & firmwareVersion() const
Get FirmwareVersion
Definition: CameraInfo.h:1388
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition: CameraInfo.h:1579
const Model & model() const
Get Model
Definition: CameraInfo.h:1407
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:1369
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:1622
Model & model()
Get Model
Definition: CameraInfo.h:1413
friend std::ostream & operator<<(std::ostream &stream, const CameraInfo &value)
Operator to send the value as string to a stream
Definition: CameraInfo.h:1654
const CameraInfo::ModelName & get() const
Definition: CameraInfo.h:1537
CameraInfo & set(const UserData &value)
Set UserData
Definition: CameraInfo.h:1509
CameraInfo & set(const UserData::MaxSizeBytes &value)
Set UserData::MaxSizeBytes
Definition: CameraInfo.h:1516
CameraInfo(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraInfo.h:1294
const CameraInfo::UserData & get() const
Definition: CameraInfo.h:1571
const CameraInfo::Revision::Minor & get() const
Definition: CameraInfo.h:1559
const SerialNumber & serialNumber() const
Get SerialNumber
Definition: CameraInfo.h:1478
SerialNumber & serialNumber()
Get SerialNumber
Definition: CameraInfo.h:1484
const Revision & revision() const
Get Revision
Definition: CameraInfo.h:1445
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:1257
void load(const std::string &fileName)
Load from the given file
CameraInfo & set(const FirmwareVersion &value)
Set FirmwareVersion
Definition: CameraInfo.h:1400
const CameraInfo::Revision::Major & get() const
Definition: CameraInfo.h:1551
void set(Args &&...args)
Set multiple arguments
Definition: CameraInfo.h:1329
CameraInfo & set(const Revision &value)
Set Revision
Definition: CameraInfo.h:1457
CameraInfo & set(const Revision::Major &value)
Set Revision::Major
Definition: CameraInfo.h:1464
CameraInfo & set(const SerialNumber &value)
Set SerialNumber
Definition: CameraInfo.h:1490
const CameraInfo::SerialNumber & get() const
Definition: CameraInfo.h:1565
const CameraInfo::Revision & get() const
Definition: CameraInfo.h:1543
std::string toString() const
Get the value as string
CameraInfo()
Default constructor
CameraInfo & set(const Revision::Minor &value)
Set Revision::Minor
Definition: CameraInfo.h:1471
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