112# pragma warning(push)
113# pragma warning(disable : 4251)
126 static constexpr const char *path{
"" };
129 static constexpr const char *name{
"CameraInfo" };
132 static constexpr const char *description{
133 R
"description(Information about camera model, serial number etc.)description"
136 static constexpr size_t version{ 1 };
146 static constexpr std::array<uint8_t, 3> binaryId{
'n',
'f',
'o' };
158 static constexpr const char *path{
"FirmwareVersion" };
161 static constexpr const char *name{
"FirmwareVersion" };
164 static constexpr const char *description{ R
"description(The firmware version on the camera)description" };
172 return { 0, std::numeric_limits<ValueType::size_type>::max() };
180 : m_value{ std::move(value) }
192 return m_value == other.m_value;
198 return m_value != other.m_value;
204 return m_value < other.m_value;
210 return m_value > other.m_value;
220 void setFromString(
const std::string &value);
222 std::string m_value{};
235 static constexpr const char *path{
"Model" };
238 static constexpr const char *name{
"Model" };
241 static constexpr const char *description{ R
"description(The model of the camera)description" };
259 return { ValueType::zividOnePlusSmall,
260 ValueType::zividOnePlusMedium,
261 ValueType::zividOnePlusLarge,
262 ValueType::zividTwo };
270 : m_value{ verifyValue(value) }
288 return m_value == other.m_value;
294 return m_value != other.m_value;
304 void setFromString(
const std::string &value);
306 constexpr ValueType
static verifyValue(
const ValueType &value)
308 return value == ValueType::zividOnePlusSmall || value == ValueType::zividOnePlusMedium
309 || value == ValueType::zividOnePlusLarge || value == ValueType::zividTwo
311 :
throw std::invalid_argument{
312 "Invalid value: Model{ "
313 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
319 friend struct DataModel::Detail::Befriend<
Model>;
330 static constexpr const char *path{
"ModelName" };
333 static constexpr const char *name{
"ModelName" };
336 static constexpr const char *description{ R
"description(The model name of the camera)description" };
344 return { 0, std::numeric_limits<ValueType::size_type>::max() };
352 : m_value{ std::move(value) }
364 return m_value == other.m_value;
370 return m_value != other.m_value;
376 return m_value < other.m_value;
382 return m_value > other.m_value;
392 void setFromString(
const std::string &value);
394 std::string m_value{};
396 friend struct DataModel::Detail::Befriend<
ModelName>;
407 static constexpr const char *path{
"Revision" };
410 static constexpr const char *name{
"Revision" };
413 static constexpr const char *description{ R
"description(The hardware revision of the camera)description" };
423 static constexpr const char *path{
"Revision/Major" };
426 static constexpr const char *name{
"Major" };
429 static constexpr const char *description{ R
"description(Major hardware revision number)description" };
437 return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
444 explicit constexpr Major(uint32_t value)
457 return m_value == other.m_value;
463 return m_value != other.m_value;
469 return m_value < other.m_value;
475 return m_value > other.m_value;
485 void setFromString(
const std::string &value);
487 uint32_t m_value{ 0 };
489 friend struct DataModel::Detail::Befriend<
Major>;
500 static constexpr const char *path{
"Revision/Minor" };
503 static constexpr const char *name{
"Minor" };
506 static constexpr const char *description{ R
"description(Minor hardware revision number)description" };
514 return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
521 explicit constexpr Minor(uint32_t value)
534 return m_value == other.m_value;
540 return m_value != other.m_value;
546 return m_value < other.m_value;
552 return m_value > other.m_value;
562 void setFromString(
const std::string &value);
564 uint32_t m_value{ 0 };
566 friend struct DataModel::Detail::Befriend<
Minor>;
569 using Descendants = std::tuple<CameraInfo::Revision::Major, CameraInfo::Revision::Minor>;
587 template<
typename... Args,
588 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
589 typename std::enable_if<
590 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
591 typename std::decay<Args>::type...>::value,
594 template<typename... Args>
598 using namespace Zivid::Detail::TypeTraits;
600 static_assert(AllArgsDecayedAreUnique<Args...>::value,
601 "Found duplicate types among the arguments passed to Revision(...). "
602 "Types should be listed at most once.");
604 set(std::forward<Args>(args)...);
619 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
621 template<typename... Args>
625 using namespace Zivid::Detail::TypeTraits;
627 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
628 static_assert(AllArgsAreDescendantNodes::value,
629 "All arguments passed to set(...) must be descendant nodes.");
631 static_assert(AllArgsDecayedAreUnique<Args...>::value,
632 "Found duplicate types among the arguments passed to set(...). "
633 "Types should be listed at most once.");
635 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
651 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
653 template<typename... Args>
657 using namespace Zivid::Detail::TypeTraits;
659 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
660 static_assert(AllArgsAreDescendantNodes::value,
661 "All arguments passed to copyWith(...) must be descendant nodes.");
663 static_assert(AllArgsDecayedAreUnique<Args...>::value,
664 "Found duplicate types among the arguments passed to copyWith(...). "
665 "Types should be listed at most once.");
668 copy.
set(std::forward<Args>(args)...);
711 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value,
int>::type = 0>
718 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value,
int>::type = 0>
724 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
730 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
768 void setFromString(
const std::string &value);
770 void setFromString(
const std::string &fullPath,
const std::string &value);
772 std::string getString(
const std::string &fullPath)
const;
777 friend struct DataModel::Detail::Befriend<
Revision>;
788 static constexpr const char *path{
"SerialNumber" };
791 static constexpr const char *name{
"SerialNumber" };
794 static constexpr const char *description{ R
"description(The serial number of the camera)description" };
802 return { 0, std::numeric_limits<ValueType::size_type>::max() };
810 : m_value{ std::move(value) }
822 return m_value == other.m_value;
828 return m_value != other.m_value;
834 return m_value < other.m_value;
840 return m_value > other.m_value;
850 void setFromString(
const std::string &value);
852 std::string m_value{};
854 friend struct DataModel::Detail::Befriend<
SerialNumber>;
865 static constexpr const char *path{
"UserData" };
868 static constexpr const char *name{
"UserData" };
871 static constexpr const char *description{
872 R
"description(Information about user data capabilities of the camera)description"
883 static constexpr const char *path{
"UserData/MaxSizeBytes" };
886 static constexpr const char *name{
"MaxSizeBytes" };
889 static constexpr const char *description{
890 R
"description(The maximum number of bytes of user data that can be stored in the camera)description"
899 return { std::numeric_limits<uint64_t>::lowest(), std::numeric_limits<uint64_t>::max() };
919 return m_value == other.m_value;
925 return m_value != other.m_value;
931 return m_value < other.m_value;
937 return m_value > other.m_value;
947 void setFromString(
const std::string &value);
949 uint64_t m_value{ 0 };
951 friend struct DataModel::Detail::Befriend<
MaxSizeBytes>;
954 using Descendants = std::tuple<CameraInfo::UserData::MaxSizeBytes>;
971 template<
typename... Args,
972 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
973 typename std::enable_if<
974 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
975 typename std::decay<Args>::type...>::value,
978 template<typename... Args>
982 using namespace Zivid::Detail::TypeTraits;
984 static_assert(AllArgsDecayedAreUnique<Args...>::value,
985 "Found duplicate types among the arguments passed to UserData(...). "
986 "Types should be listed at most once.");
988 set(std::forward<Args>(args)...);
1002 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1004 template<typename... Args>
1008 using namespace Zivid::Detail::TypeTraits;
1010 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1011 static_assert(AllArgsAreDescendantNodes::value,
1012 "All arguments passed to set(...) must be descendant nodes.");
1014 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1015 "Found duplicate types among the arguments passed to set(...). "
1016 "Types should be listed at most once.");
1018 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1033 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1035 template<typename... Args>
1039 using namespace Zivid::Detail::TypeTraits;
1041 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1042 static_assert(AllArgsAreDescendantNodes::value,
1043 "All arguments passed to copyWith(...) must be descendant nodes.");
1045 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1046 "Found duplicate types among the arguments passed to copyWith(...). "
1047 "Types should be listed at most once.");
1050 copy.
set(std::forward<Args>(args)...);
1057 return m_maxSizeBytes;
1063 return m_maxSizeBytes;
1069 m_maxSizeBytes = value;
1073 template<
typename T,
1074 typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value,
int>::type = 0>
1077 return m_maxSizeBytes;
1080 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1083 return m_maxSizeBytes;
1087 template<
typename F>
1094 template<
typename F>
1116 void setFromString(
const std::string &value);
1118 void setFromString(
const std::string &fullPath,
const std::string &value);
1120 std::string getString(
const std::string &fullPath)
const;
1124 friend struct DataModel::Detail::Befriend<
UserData>;
1165 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1166 typename std::enable_if<
1167 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
1170 template<typename... Args>
1174 using namespace Zivid::Detail::TypeTraits;
1176 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1177 "Found duplicate types among the arguments passed to CameraInfo(...). "
1178 "Types should be listed at most once.");
1180 set(std::forward<Args>(args)...);
1202 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1204 template<typename... Args>
1208 using namespace Zivid::Detail::TypeTraits;
1210 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1211 static_assert(AllArgsAreDescendantNodes::value,
1212 "All arguments passed to set(...) must be descendant nodes.");
1214 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1215 "Found duplicate types among the arguments passed to set(...). "
1216 "Types should be listed at most once.");
1218 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1241 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1243 template<typename... Args>
1247 using namespace Zivid::Detail::TypeTraits;
1249 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1250 static_assert(AllArgsAreDescendantNodes::value,
1251 "All arguments passed to copyWith(...) must be descendant nodes.");
1253 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1254 "Found duplicate types among the arguments passed to copyWith(...). "
1255 "Types should be listed at most once.");
1258 copy.
set(std::forward<Args>(args)...);
1265 return m_firmwareVersion;
1271 return m_firmwareVersion;
1277 m_firmwareVersion = value;
1315 m_modelName = value;
1341 m_revision.
set(value);
1348 m_revision.
set(value);
1355 return m_serialNumber;
1361 return m_serialNumber;
1367 m_serialNumber = value;
1393 m_userData.
set(value);
1397 template<
typename T,
1398 typename std::enable_if<std::is_same<T, CameraInfo::FirmwareVersion>::value,
int>::type = 0>
1401 return m_firmwareVersion;
1404 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Model>::value,
int>::type = 0>
1410 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::ModelName>::value,
int>::type = 0>
1416 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Revision>::value,
int>::type = 0>
1422 template<
typename T,
1423 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value,
int>::type = 0>
1429 template<
typename T,
1430 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value,
int>::type = 0>
1436 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::SerialNumber>::value,
int>::type = 0>
1439 return m_serialNumber;
1442 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::UserData>::value,
int>::type = 0>
1448 template<
typename T,
1449 typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value,
int>::type = 0>
1455 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1458 return m_firmwareVersion;
1461 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1467 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1473 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
1479 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
1482 return m_serialNumber;
1485 template<size_t i, typename std::enable_if<i == 5, int>::type = 0>
1492 template<
typename F>
1495 f(m_firmwareVersion);
1504 template<
typename F>
1507 f(m_firmwareVersion);
1531 void save(
const std::string &fileName)
const;
1534 void load(
const std::string &fileName);
1537 void setFromString(
const std::string &value);
1539 void setFromString(
const std::string &fullPath,
const std::string &value);
1541 std::string getString(
const std::string &fullPath)
const;
1550 friend struct DataModel::Detail::Befriend<
CameraInfo>;
1555 struct CameraInfo::Version<1>
1564# pragma warning(pop)
1568# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
1572 struct tuple_size<
Zivid::CameraInfo::Revision> : integral_constant<size_t, 2>
1576 struct tuple_element<i,
Zivid::CameraInfo::Revision>
1578 static_assert(i < tuple_size<Zivid::CameraInfo::Revision>::value,
"Index must be less than 2");
1581 =
decltype(declval<Zivid::CameraInfo::Revision>().get<i>());
1585 struct tuple_size<
Zivid::CameraInfo::UserData> : integral_constant<size_t, 1>
1589 struct tuple_element<i,
Zivid::CameraInfo::UserData>
1591 static_assert(i < tuple_size<Zivid::CameraInfo::UserData>::value,
"Index must be less than 1");
1594 =
decltype(declval<Zivid::CameraInfo::UserData>().get<i>());
1598 struct tuple_size<
Zivid::CameraInfo> : integral_constant<size_t, 6>
1602 struct tuple_element<i,
Zivid::CameraInfo>
1604 static_assert(i < tuple_size<Zivid::CameraInfo>::value,
"Index must be less than 6");
1607 =
decltype(declval<Zivid::CameraInfo>().get<i>());
#define ZIVID_CORE_EXPORT
Definition: CoreExport.h:101
The firmware version on the camera
Definition: CameraInfo.h:152
std::string toString() const
Get the value as string
bool operator==(const FirmwareVersion &other) const
Comparison operator
Definition: CameraInfo.h:190
FirmwareVersion(std::string value)
Constructor
Definition: CameraInfo.h:179
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for FirmwareVersion
Definition: CameraInfo.h:170
bool operator<(const FirmwareVersion &other) const
Comparison operator
Definition: CameraInfo.h:202
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:214
bool operator>(const FirmwareVersion &other) const
Comparison operator
Definition: CameraInfo.h:208
bool operator!=(const FirmwareVersion &other) const
Comparison operator
Definition: CameraInfo.h:196
std::string ValueType
The type of the underlying value
Definition: CameraInfo.h:167
FirmwareVersion()=default
Default constructor
The model name of the camera
Definition: CameraInfo.h:324
bool operator==(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:362
ModelName()=default
Default constructor
std::string toString() const
Get the value as string
ModelName(std::string value)
Constructor
Definition: CameraInfo.h:351
std::string ValueType
The type of the underlying value
Definition: CameraInfo.h:339
bool operator<(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:374
bool operator>(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:380
friend std::ostream & operator<<(std::ostream &stream, const ModelName &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:386
const std::string & value() const
Get the value
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for ModelName
Definition: CameraInfo.h:342
bool operator!=(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:368
The model of the camera
Definition: CameraInfo.h:229
static const Model zividOnePlusSmall
zividOnePlusSmall
Definition: CameraInfo.h:251
static const Model zividTwo
zividTwo
Definition: CameraInfo.h:254
std::string toString() const
Get the value as string
constexpr Model(ValueType value)
Constructor
Definition: CameraInfo.h:269
Model()=default
Default constructor
static const Model zividOnePlusMedium
zividOnePlusMedium
Definition: CameraInfo.h:252
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:280
friend std::ostream & operator<<(std::ostream &stream, const Model &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:298
static std::set< ValueType > validValues()
All valid values of Model
Definition: CameraInfo.h:257
ValueType
The type of the underlying value
Definition: CameraInfo.h:245
static const Model zividOnePlusLarge
zividOnePlusLarge
Definition: CameraInfo.h:253
bool operator!=(const Model &other) const
Comparison operator
Definition: CameraInfo.h:292
bool operator==(const Model &other) const
Comparison operator
Definition: CameraInfo.h:286
Major hardware revision number
Definition: CameraInfo.h:417
std::string toString() const
Get the value as string
bool operator!=(const Major &other) const
Comparison operator
Definition: CameraInfo.h:461
uint32_t ValueType
The type of the underlying value
Definition: CameraInfo.h:432
friend std::ostream & operator<<(std::ostream &stream, const Major &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:479
static constexpr Range< uint32_t > validRange()
The range of valid values for Major
Definition: CameraInfo.h:435
bool operator>(const Major &other) const
Comparison operator
Definition: CameraInfo.h:473
uint32_t value() const
Get the value
constexpr Major(uint32_t value)
Constructor
Definition: CameraInfo.h:444
bool operator<(const Major &other) const
Comparison operator
Definition: CameraInfo.h:467
Major()=default
Default constructor
bool operator==(const Major &other) const
Comparison operator
Definition: CameraInfo.h:455
Minor hardware revision number
Definition: CameraInfo.h:494
bool operator>(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:550
bool operator!=(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:538
constexpr Minor(uint32_t value)
Constructor
Definition: CameraInfo.h:521
uint32_t ValueType
The type of the underlying value
Definition: CameraInfo.h:509
friend std::ostream & operator<<(std::ostream &stream, const Minor &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:556
bool operator==(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:532
std::string toString() const
Get the value as string
Minor()=default
Default constructor
bool operator<(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:544
static constexpr Range< uint32_t > validRange()
The range of valid values for Minor
Definition: CameraInfo.h:512
uint32_t value() const
Get the value
The hardware revision of the camera
Definition: CameraInfo.h:401
const Major & major() const
Get Major
Definition: CameraInfo.h:673
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:655
Minor & minor()
Get Minor
Definition: CameraInfo.h:698
Revision & set(const Minor &value)
Set Minor
Definition: CameraInfo.h:704
std::tuple< CameraInfo::Revision::Major, CameraInfo::Revision::Minor > Descendants
Definition: CameraInfo.h:569
Revision & set(const Major &value)
Set Major
Definition: CameraInfo.h:685
bool operator==(const Revision &other) const
Equality operator
const CameraInfo::Revision::Minor & get() const
Definition: CameraInfo.h:719
std::string toString() const
Get the value as string
const Minor & minor() const
Get Minor
Definition: CameraInfo.h:692
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: CameraInfo.h:746
Major & major()
Get Major
Definition: CameraInfo.h:679
const CameraInfo::Revision::Major & get() const
Definition: CameraInfo.h:712
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:738
Revision(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraInfo.h:596
friend std::ostream & operator<<(std::ostream &stream, const Revision &value)
Operator to send the value as string to a stream
Definition: CameraInfo.h:762
void set(Args &&...args)
Set multiple arguments
Definition: CameraInfo.h:623
bool operator!=(const Revision &other) const
Inequality operator
The serial number of the camera
Definition: CameraInfo.h:782
SerialNumber(std::string value)
Constructor
Definition: CameraInfo.h:809
const std::string & value() const
Get the value
bool operator==(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:820
std::string ValueType
The type of the underlying value
Definition: CameraInfo.h:797
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:844
std::string toString() const
Get the value as string
bool operator>(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:838
bool operator<(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:832
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for SerialNumber
Definition: CameraInfo.h:800
bool operator!=(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:826
The maximum number of bytes of user data that can be stored in the camera
Definition: CameraInfo.h:877
bool operator!=(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:923
bool operator>(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:935
MaxSizeBytes()=default
Default constructor
constexpr MaxSizeBytes(uint64_t value)
Constructor
Definition: CameraInfo.h:906
uint64_t value() const
Get the value
bool operator<(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:929
bool operator==(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:917
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:941
static constexpr Range< uint64_t > validRange()
The range of valid values for MaxSizeBytes
Definition: CameraInfo.h:897
uint64_t ValueType
The type of the underlying value
Definition: CameraInfo.h:894
Information about user data capabilities of the camera
Definition: CameraInfo.h:859
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:1095
MaxSizeBytes & maxSizeBytes()
Get MaxSizeBytes
Definition: CameraInfo.h:1061
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:1037
friend std::ostream & operator<<(std::ostream &stream, const UserData &value)
Operator to send the value as string to a stream
Definition: CameraInfo.h:1110
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:1088
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition: CameraInfo.h:1075
std::tuple< CameraInfo::UserData::MaxSizeBytes > Descendants
Definition: CameraInfo.h:954
bool operator!=(const UserData &other) const
Inequality operator
UserData()
Default constructor
UserData(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraInfo.h:980
const MaxSizeBytes & maxSizeBytes() const
Get MaxSizeBytes
Definition: CameraInfo.h:1055
UserData & set(const MaxSizeBytes &value)
Set MaxSizeBytes
Definition: CameraInfo.h:1067
void set(Args &&...args)
Set multiple arguments
Definition: CameraInfo.h:1006
Information about camera model, serial number etc.
Definition: CameraInfo.h:120
bool operator==(const CameraInfo &other) const
Equality operator
Revision & revision()
Get Revision
Definition: CameraInfo.h:1326
const ModelName & modelName() const
Get ModelName
Definition: CameraInfo.h:1301
FirmwareVersion & firmwareVersion()
Get FirmwareVersion
Definition: CameraInfo.h:1269
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: CameraInfo.h:1505
const UserData & userData() const
Get UserData
Definition: CameraInfo.h:1372
ModelName & modelName()
Get ModelName
Definition: CameraInfo.h:1307
bool operator!=(const CameraInfo &other) const
Inequality operator
CameraInfo & set(const Model &value)
Set Model
Definition: CameraInfo.h:1294
const CameraInfo::FirmwareVersion & get() const
Definition: CameraInfo.h:1399
const CameraInfo::Model & get() const
Definition: CameraInfo.h:1405
CameraInfo(const std::string &fileName)
Construct CameraInfo by loading from file
UserData & userData()
Get UserData
Definition: CameraInfo.h:1378
CameraInfo & set(const ModelName &value)
Set ModelName
Definition: CameraInfo.h:1313
const FirmwareVersion & firmwareVersion() const
Get FirmwareVersion
Definition: CameraInfo.h:1263
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition: CameraInfo.h:1450
const Model & model() const
Get Model
Definition: CameraInfo.h:1282
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:1245
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:1493
Model & model()
Get Model
Definition: CameraInfo.h:1288
friend std::ostream & operator<<(std::ostream &stream, const CameraInfo &value)
Operator to send the value as string to a stream
Definition: CameraInfo.h:1525
const CameraInfo::ModelName & get() const
Definition: CameraInfo.h:1411
CameraInfo & set(const UserData &value)
Set UserData
Definition: CameraInfo.h:1384
CameraInfo & set(const UserData::MaxSizeBytes &value)
Set UserData::MaxSizeBytes
Definition: CameraInfo.h:1391
CameraInfo(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraInfo.h:1172
const CameraInfo::UserData & get() const
Definition: CameraInfo.h:1443
const CameraInfo::Revision::Minor & get() const
Definition: CameraInfo.h:1431
const SerialNumber & serialNumber() const
Get SerialNumber
Definition: CameraInfo.h:1353
SerialNumber & serialNumber()
Get SerialNumber
Definition: CameraInfo.h:1359
const Revision & revision() const
Get Revision
Definition: CameraInfo.h:1320
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:1135
void load(const std::string &fileName)
Load from the given file
CameraInfo & set(const FirmwareVersion &value)
Set FirmwareVersion
Definition: CameraInfo.h:1275
const CameraInfo::Revision::Major & get() const
Definition: CameraInfo.h:1424
void set(Args &&...args)
Set multiple arguments
Definition: CameraInfo.h:1206
CameraInfo & set(const Revision &value)
Set Revision
Definition: CameraInfo.h:1332
CameraInfo & set(const Revision::Major &value)
Set Revision::Major
Definition: CameraInfo.h:1339
CameraInfo & set(const SerialNumber &value)
Set SerialNumber
Definition: CameraInfo.h:1365
const CameraInfo::SerialNumber & get() const
Definition: CameraInfo.h:1437
const CameraInfo::Revision & get() const
Definition: CameraInfo.h:1417
std::string toString() const
Get the value as string
CameraInfo()
Default constructor
CameraInfo & set(const Revision::Minor &value)
Set Revision::Minor
Definition: CameraInfo.h:1346
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:102
NodeType
Definition: NodeType.h:100
The main Zivid namespace. All Zivid code is found here
Definition: Application.h:99