112# pragma warning(push)
113# pragma warning(disable : 4251)
127 static constexpr const char *path{
"" };
130 static constexpr const char *name{
"CameraInfo" };
133 static constexpr const char *description{
134 R
"description(Information about camera model, serial number etc.)description"
137 static constexpr size_t version{ 1 };
147 static constexpr std::array<uint8_t, 3> binaryId{
'n',
'f',
'o' };
159 static constexpr const char *path{
"FirmwareVersion" };
162 static constexpr const char *name{
"FirmwareVersion" };
165 static constexpr const char *description{ R
"description(The firmware version on the camera)description" };
173 return { 0, std::numeric_limits<ValueType::size_type>::max() };
181 : m_value{ std::move(value) }
193 return m_value == other.m_value;
199 return m_value != other.m_value;
205 return m_value < other.m_value;
211 return m_value > other.m_value;
221 void setFromString(
const std::string &value);
223 std::string m_value{};
236 static constexpr const char *path{
"Model" };
239 static constexpr const char *name{
"Model" };
242 static constexpr const char *description{ R
"description(The model of the camera)description" };
260 return { ValueType::zividOnePlusSmall,
261 ValueType::zividOnePlusMedium,
262 ValueType::zividOnePlusLarge,
263 ValueType::zividTwo };
271 : m_value{ verifyValue(value) }
289 return m_value == other.m_value;
295 return m_value != other.m_value;
305 void setFromString(
const std::string &value);
307 constexpr ValueType
static verifyValue(
const ValueType &value)
309 return value == ValueType::zividOnePlusSmall || value == ValueType::zividOnePlusMedium
310 || value == ValueType::zividOnePlusLarge || value == ValueType::zividTwo
312 :
throw std::invalid_argument{
313 "Invalid value: Model{ "
314 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
320 friend struct DataModel::Detail::Befriend<
Model>;
331 static constexpr const char *path{
"ModelName" };
334 static constexpr const char *name{
"ModelName" };
337 static constexpr const char *description{ R
"description(The model name of the camera)description" };
345 return { 0, std::numeric_limits<ValueType::size_type>::max() };
353 : m_value{ std::move(value) }
365 return m_value == other.m_value;
371 return m_value != other.m_value;
377 return m_value < other.m_value;
383 return m_value > other.m_value;
393 void setFromString(
const std::string &value);
395 std::string m_value{};
397 friend struct DataModel::Detail::Befriend<
ModelName>;
408 static constexpr const char *path{
"Revision" };
411 static constexpr const char *name{
"Revision" };
414 static constexpr const char *description{ R
"description(The hardware revision of the camera)description" };
424 static constexpr const char *path{
"Revision/Major" };
427 static constexpr const char *name{
"Major" };
430 static constexpr const char *description{ R
"description(Major hardware revision number)description" };
438 return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
445 explicit constexpr Major(uint32_t value)
458 return m_value == other.m_value;
464 return m_value != other.m_value;
470 return m_value < other.m_value;
476 return m_value > other.m_value;
486 void setFromString(
const std::string &value);
488 uint32_t m_value{ 0 };
490 friend struct DataModel::Detail::Befriend<
Major>;
501 static constexpr const char *path{
"Revision/Minor" };
504 static constexpr const char *name{
"Minor" };
507 static constexpr const char *description{ R
"description(Minor hardware revision number)description" };
515 return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
522 explicit constexpr Minor(uint32_t value)
535 return m_value == other.m_value;
541 return m_value != other.m_value;
547 return m_value < other.m_value;
553 return m_value > other.m_value;
563 void setFromString(
const std::string &value);
565 uint32_t m_value{ 0 };
567 friend struct DataModel::Detail::Befriend<
Minor>;
570 using Descendants = std::tuple<CameraInfo::Revision::Major, CameraInfo::Revision::Minor>;
590 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
591 typename std::enable_if<
592 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
596 template<typename... Args>
600 using namespace Zivid::Detail::TypeTraits;
603 AllArgsDecayedAreUnique<Args...>::value,
604 "Found duplicate types among the arguments passed to Revision(...). "
605 "Types should be listed at most once.");
607 set(std::forward<Args>(args)...);
622 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
624 template<typename... Args>
628 using namespace Zivid::Detail::TypeTraits;
630 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
632 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
635 AllArgsDecayedAreUnique<Args...>::value,
636 "Found duplicate types among the arguments passed to set(...). "
637 "Types should be listed at most once.");
639 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
655 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
657 template<typename... Args>
661 using namespace Zivid::Detail::TypeTraits;
663 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
665 AllArgsAreDescendantNodes::value,
666 "All arguments passed to copyWith(...) must be descendant nodes.");
669 AllArgsDecayedAreUnique<Args...>::value,
670 "Found duplicate types among the arguments passed to copyWith(...). "
671 "Types should be listed at most once.");
674 copy.
set(std::forward<Args>(args)...);
718 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value,
int>::type = 0>
726 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value,
int>::type = 0>
732 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
738 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
776 void setFromString(
const std::string &value);
778 void setFromString(
const std::string &fullPath,
const std::string &value);
780 std::string getString(
const std::string &fullPath)
const;
785 friend struct DataModel::Detail::Befriend<
Revision>;
796 static constexpr const char *path{
"SerialNumber" };
799 static constexpr const char *name{
"SerialNumber" };
802 static constexpr const char *description{ R
"description(The serial number of the camera)description" };
810 return { 0, std::numeric_limits<ValueType::size_type>::max() };
818 : m_value{ std::move(value) }
830 return m_value == other.m_value;
836 return m_value != other.m_value;
842 return m_value < other.m_value;
848 return m_value > other.m_value;
858 void setFromString(
const std::string &value);
860 std::string m_value{};
862 friend struct DataModel::Detail::Befriend<
SerialNumber>;
873 static constexpr const char *path{
"UserData" };
876 static constexpr const char *name{
"UserData" };
879 static constexpr const char *description{
880 R
"description(Information about user data capabilities of the camera)description"
891 static constexpr const char *path{
"UserData/MaxSizeBytes" };
894 static constexpr const char *name{
"MaxSizeBytes" };
897 static constexpr const char *description{
898 R
"description(The maximum number of bytes of user data that can be stored in the camera)description"
907 return { std::numeric_limits<uint64_t>::lowest(), std::numeric_limits<uint64_t>::max() };
927 return m_value == other.m_value;
933 return m_value != other.m_value;
939 return m_value < other.m_value;
945 return m_value > other.m_value;
955 void setFromString(
const std::string &value);
957 uint64_t m_value{ 0 };
959 friend struct DataModel::Detail::Befriend<
MaxSizeBytes>;
962 using Descendants = std::tuple<CameraInfo::UserData::MaxSizeBytes>;
981 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
982 typename std::enable_if<
983 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
987 template<typename... Args>
991 using namespace Zivid::Detail::TypeTraits;
994 AllArgsDecayedAreUnique<Args...>::value,
995 "Found duplicate types among the arguments passed to UserData(...). "
996 "Types should be listed at most once.");
998 set(std::forward<Args>(args)...);
1012 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1014 template<typename... Args>
1018 using namespace Zivid::Detail::TypeTraits;
1020 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1022 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1025 AllArgsDecayedAreUnique<Args...>::value,
1026 "Found duplicate types among the arguments passed to set(...). "
1027 "Types should be listed at most once.");
1029 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1044 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1046 template<typename... Args>
1050 using namespace Zivid::Detail::TypeTraits;
1052 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1054 AllArgsAreDescendantNodes::value,
1055 "All arguments passed to copyWith(...) must be descendant nodes.");
1058 AllArgsDecayedAreUnique<Args...>::value,
1059 "Found duplicate types among the arguments passed to copyWith(...). "
1060 "Types should be listed at most once.");
1063 copy.
set(std::forward<Args>(args)...);
1070 return m_maxSizeBytes;
1076 return m_maxSizeBytes;
1082 m_maxSizeBytes = value;
1088 typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value,
int>::type = 0>
1091 return m_maxSizeBytes;
1094 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1097 return m_maxSizeBytes;
1101 template<
typename F>
1108 template<
typename F>
1130 void setFromString(
const std::string &value);
1132 void setFromString(
const std::string &fullPath,
const std::string &value);
1134 std::string getString(
const std::string &fullPath)
const;
1138 friend struct DataModel::Detail::Befriend<
UserData>;
1180 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1181 typename std::enable_if<
1182 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
1185 template<typename... Args>
1189 using namespace Zivid::Detail::TypeTraits;
1192 AllArgsDecayedAreUnique<Args...>::value,
1193 "Found duplicate types among the arguments passed to CameraInfo(...). "
1194 "Types should be listed at most once.");
1196 set(std::forward<Args>(args)...);
1218 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1220 template<typename... Args>
1224 using namespace Zivid::Detail::TypeTraits;
1226 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1228 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1231 AllArgsDecayedAreUnique<Args...>::value,
1232 "Found duplicate types among the arguments passed to set(...). "
1233 "Types should be listed at most once.");
1235 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1258 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1260 template<typename... Args>
1264 using namespace Zivid::Detail::TypeTraits;
1266 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1268 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
1271 AllArgsDecayedAreUnique<Args...>::value,
1272 "Found duplicate types among the arguments passed to copyWith(...). "
1273 "Types should be listed at most once.");
1276 copy.
set(std::forward<Args>(args)...);
1283 return m_firmwareVersion;
1289 return m_firmwareVersion;
1295 m_firmwareVersion = value;
1333 m_modelName = value;
1359 m_revision.
set(value);
1366 m_revision.
set(value);
1373 return m_serialNumber;
1379 return m_serialNumber;
1385 m_serialNumber = value;
1411 m_userData.
set(value);
1417 typename std::enable_if<std::is_same<T, CameraInfo::FirmwareVersion>::value,
int>::type = 0>
1420 return m_firmwareVersion;
1423 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Model>::value,
int>::type = 0>
1429 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::ModelName>::value,
int>::type = 0>
1435 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Revision>::value,
int>::type = 0>
1443 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value,
int>::type = 0>
1451 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value,
int>::type = 0>
1457 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::SerialNumber>::value,
int>::type = 0>
1460 return m_serialNumber;
1463 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::UserData>::value,
int>::type = 0>
1471 typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value,
int>::type = 0>
1477 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1480 return m_firmwareVersion;
1483 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1489 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1495 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
1501 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
1504 return m_serialNumber;
1507 template<size_t i, typename std::enable_if<i == 5, int>::type = 0>
1514 template<
typename F>
1517 f(m_firmwareVersion);
1526 template<
typename F>
1529 f(m_firmwareVersion);
1553 void save(
const std::string &fileName)
const;
1556 void load(
const std::string &fileName);
1559 void setFromString(
const std::string &value);
1561 void setFromString(
const std::string &fullPath,
const std::string &value);
1563 std::string getString(
const std::string &fullPath)
const;
1572 friend struct DataModel::Detail::Befriend<
CameraInfo>;
1577 struct CameraInfo::Version<1>
1586# pragma warning(pop)
1590# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
1595 struct tuple_size<
Zivid::CameraInfo::Revision> : integral_constant<size_t, 2>
1599 struct tuple_element<i,
Zivid::CameraInfo::Revision>
1601 static_assert(i < tuple_size<Zivid::CameraInfo::Revision>::value,
"Index must be less than 2");
1604 =
decltype(declval<Zivid::CameraInfo::Revision>().get<i>());
1608 struct tuple_size<
Zivid::CameraInfo::UserData> : integral_constant<size_t, 1>
1612 struct tuple_element<i,
Zivid::CameraInfo::UserData>
1614 static_assert(i < tuple_size<Zivid::CameraInfo::UserData>::value,
"Index must be less than 1");
1617 =
decltype(declval<Zivid::CameraInfo::UserData>().get<i>());
1621 struct tuple_size<
Zivid::CameraInfo> : integral_constant<size_t, 6>
1625 struct tuple_element<i,
Zivid::CameraInfo>
1627 static_assert(i < tuple_size<Zivid::CameraInfo>::value,
"Index must be less than 6");
1630 =
decltype(declval<Zivid::CameraInfo>().get<i>());
1639#if defined(__has_include) && !defined(NO_DOC)
1640# if __has_include("Zivid/CameraInfoInternal.h") && __has_include("Zivid/DataModelSerializationMetaData.h")
1641# include "Zivid/CameraInfoInternal.h"
#define ZIVID_CORE_EXPORT
Definition: CoreExport.h:101
The firmware version on the camera
Definition: CameraInfo.h:153
std::string toString() const
Get the value as string
bool operator==(const FirmwareVersion &other) const
Comparison operator
Definition: CameraInfo.h:191
FirmwareVersion(std::string value)
Constructor
Definition: CameraInfo.h:180
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for FirmwareVersion
Definition: CameraInfo.h:171
bool operator<(const FirmwareVersion &other) const
Comparison operator
Definition: CameraInfo.h:203
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:215
bool operator>(const FirmwareVersion &other) const
Comparison operator
Definition: CameraInfo.h:209
bool operator!=(const FirmwareVersion &other) const
Comparison operator
Definition: CameraInfo.h:197
std::string ValueType
The type of the underlying value
Definition: CameraInfo.h:168
FirmwareVersion()=default
Default constructor
The model name of the camera
Definition: CameraInfo.h:325
bool operator==(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:363
ModelName()=default
Default constructor
std::string toString() const
Get the value as string
ModelName(std::string value)
Constructor
Definition: CameraInfo.h:352
std::string ValueType
The type of the underlying value
Definition: CameraInfo.h:340
bool operator<(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:375
bool operator>(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:381
friend std::ostream & operator<<(std::ostream &stream, const ModelName &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:387
const std::string & value() const
Get the value
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for ModelName
Definition: CameraInfo.h:343
bool operator!=(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:369
The model of the camera
Definition: CameraInfo.h:230
static const Model zividOnePlusSmall
zividOnePlusSmall
Definition: CameraInfo.h:252
static const Model zividTwo
zividTwo
Definition: CameraInfo.h:255
std::string toString() const
Get the value as string
constexpr Model(ValueType value)
Constructor
Definition: CameraInfo.h:270
Model()=default
Default constructor
static const Model zividOnePlusMedium
zividOnePlusMedium
Definition: CameraInfo.h:253
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:281
friend std::ostream & operator<<(std::ostream &stream, const Model &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:299
static std::set< ValueType > validValues()
All valid values of Model
Definition: CameraInfo.h:258
ValueType
The type of the underlying value
Definition: CameraInfo.h:246
static const Model zividOnePlusLarge
zividOnePlusLarge
Definition: CameraInfo.h:254
bool operator!=(const Model &other) const
Comparison operator
Definition: CameraInfo.h:293
bool operator==(const Model &other) const
Comparison operator
Definition: CameraInfo.h:287
Major hardware revision number
Definition: CameraInfo.h:418
std::string toString() const
Get the value as string
bool operator!=(const Major &other) const
Comparison operator
Definition: CameraInfo.h:462
uint32_t ValueType
The type of the underlying value
Definition: CameraInfo.h:433
friend std::ostream & operator<<(std::ostream &stream, const Major &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:480
static constexpr Range< uint32_t > validRange()
The range of valid values for Major
Definition: CameraInfo.h:436
bool operator>(const Major &other) const
Comparison operator
Definition: CameraInfo.h:474
uint32_t value() const
Get the value
constexpr Major(uint32_t value)
Constructor
Definition: CameraInfo.h:445
bool operator<(const Major &other) const
Comparison operator
Definition: CameraInfo.h:468
Major()=default
Default constructor
bool operator==(const Major &other) const
Comparison operator
Definition: CameraInfo.h:456
Minor hardware revision number
Definition: CameraInfo.h:495
bool operator>(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:551
bool operator!=(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:539
constexpr Minor(uint32_t value)
Constructor
Definition: CameraInfo.h:522
uint32_t ValueType
The type of the underlying value
Definition: CameraInfo.h:510
friend std::ostream & operator<<(std::ostream &stream, const Minor &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:557
bool operator==(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:533
std::string toString() const
Get the value as string
Minor()=default
Default constructor
bool operator<(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:545
static constexpr Range< uint32_t > validRange()
The range of valid values for Minor
Definition: CameraInfo.h:513
uint32_t value() const
Get the value
The hardware revision of the camera
Definition: CameraInfo.h:402
const Major & major() const
Get Major
Definition: CameraInfo.h:679
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:659
Minor & minor()
Get Minor
Definition: CameraInfo.h:704
Revision & set(const Minor &value)
Set Minor
Definition: CameraInfo.h:710
std::tuple< CameraInfo::Revision::Major, CameraInfo::Revision::Minor > Descendants
Definition: CameraInfo.h:570
Revision & set(const Major &value)
Set Major
Definition: CameraInfo.h:691
bool operator==(const Revision &other) const
Equality operator
const CameraInfo::Revision::Minor & get() const
Definition: CameraInfo.h:727
std::string toString() const
Get the value as string
const Minor & minor() const
Get Minor
Definition: CameraInfo.h:698
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: CameraInfo.h:754
Major & major()
Get Major
Definition: CameraInfo.h:685
const CameraInfo::Revision::Major & get() const
Definition: CameraInfo.h:719
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:746
Revision(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraInfo.h:598
friend std::ostream & operator<<(std::ostream &stream, const Revision &value)
Operator to send the value as string to a stream
Definition: CameraInfo.h:770
void set(Args &&...args)
Set multiple arguments
Definition: CameraInfo.h:626
bool operator!=(const Revision &other) const
Inequality operator
The serial number of the camera
Definition: CameraInfo.h:790
SerialNumber(std::string value)
Constructor
Definition: CameraInfo.h:817
const std::string & value() const
Get the value
bool operator==(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:828
std::string ValueType
The type of the underlying value
Definition: CameraInfo.h:805
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:852
std::string toString() const
Get the value as string
bool operator>(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:846
bool operator<(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:840
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for SerialNumber
Definition: CameraInfo.h:808
bool operator!=(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:834
The maximum number of bytes of user data that can be stored in the camera
Definition: CameraInfo.h:885
bool operator!=(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:931
bool operator>(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:943
MaxSizeBytes()=default
Default constructor
constexpr MaxSizeBytes(uint64_t value)
Constructor
Definition: CameraInfo.h:914
uint64_t value() const
Get the value
bool operator<(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:937
bool operator==(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:925
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:949
static constexpr Range< uint64_t > validRange()
The range of valid values for MaxSizeBytes
Definition: CameraInfo.h:905
uint64_t ValueType
The type of the underlying value
Definition: CameraInfo.h:902
Information about user data capabilities of the camera
Definition: CameraInfo.h:867
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:1109
MaxSizeBytes & maxSizeBytes()
Get MaxSizeBytes
Definition: CameraInfo.h:1074
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:1048
friend std::ostream & operator<<(std::ostream &stream, const UserData &value)
Operator to send the value as string to a stream
Definition: CameraInfo.h:1124
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:1102
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition: CameraInfo.h:1089
std::tuple< CameraInfo::UserData::MaxSizeBytes > Descendants
Definition: CameraInfo.h:962
bool operator!=(const UserData &other) const
Inequality operator
UserData()
Default constructor
UserData(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraInfo.h:989
const MaxSizeBytes & maxSizeBytes() const
Get MaxSizeBytes
Definition: CameraInfo.h:1068
UserData & set(const MaxSizeBytes &value)
Set MaxSizeBytes
Definition: CameraInfo.h:1080
void set(Args &&...args)
Set multiple arguments
Definition: CameraInfo.h:1016
Information about camera model, serial number etc.
Definition: CameraInfo.h:121
bool operator==(const CameraInfo &other) const
Equality operator
Revision & revision()
Get Revision
Definition: CameraInfo.h:1344
const ModelName & modelName() const
Get ModelName
Definition: CameraInfo.h:1319
FirmwareVersion & firmwareVersion()
Get FirmwareVersion
Definition: CameraInfo.h:1287
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: CameraInfo.h:1527
const UserData & userData() const
Get UserData
Definition: CameraInfo.h:1390
ModelName & modelName()
Get ModelName
Definition: CameraInfo.h:1325
bool operator!=(const CameraInfo &other) const
Inequality operator
CameraInfo & set(const Model &value)
Set Model
Definition: CameraInfo.h:1312
const CameraInfo::FirmwareVersion & get() const
Definition: CameraInfo.h:1418
const CameraInfo::Model & get() const
Definition: CameraInfo.h:1424
CameraInfo(const std::string &fileName)
Construct CameraInfo by loading from file
UserData & userData()
Get UserData
Definition: CameraInfo.h:1396
CameraInfo & set(const ModelName &value)
Set ModelName
Definition: CameraInfo.h:1331
const FirmwareVersion & firmwareVersion() const
Get FirmwareVersion
Definition: CameraInfo.h:1281
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition: CameraInfo.h:1472
const Model & model() const
Get Model
Definition: CameraInfo.h:1300
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:1262
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:1515
Model & model()
Get Model
Definition: CameraInfo.h:1306
friend std::ostream & operator<<(std::ostream &stream, const CameraInfo &value)
Operator to send the value as string to a stream
Definition: CameraInfo.h:1547
const CameraInfo::ModelName & get() const
Definition: CameraInfo.h:1430
CameraInfo & set(const UserData &value)
Set UserData
Definition: CameraInfo.h:1402
CameraInfo & set(const UserData::MaxSizeBytes &value)
Set UserData::MaxSizeBytes
Definition: CameraInfo.h:1409
CameraInfo(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraInfo.h:1187
const CameraInfo::UserData & get() const
Definition: CameraInfo.h:1464
const CameraInfo::Revision::Minor & get() const
Definition: CameraInfo.h:1452
const SerialNumber & serialNumber() const
Get SerialNumber
Definition: CameraInfo.h:1371
SerialNumber & serialNumber()
Get SerialNumber
Definition: CameraInfo.h:1377
const Revision & revision() const
Get Revision
Definition: CameraInfo.h:1338
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:1150
void load(const std::string &fileName)
Load from the given file
CameraInfo & set(const FirmwareVersion &value)
Set FirmwareVersion
Definition: CameraInfo.h:1293
const CameraInfo::Revision::Major & get() const
Definition: CameraInfo.h:1444
void set(Args &&...args)
Set multiple arguments
Definition: CameraInfo.h:1222
CameraInfo & set(const Revision &value)
Set Revision
Definition: CameraInfo.h:1350
CameraInfo & set(const Revision::Major &value)
Set Revision::Major
Definition: CameraInfo.h:1357
CameraInfo & set(const SerialNumber &value)
Set SerialNumber
Definition: CameraInfo.h:1383
const CameraInfo::SerialNumber & get() const
Definition: CameraInfo.h:1458
const CameraInfo::Revision & get() const
Definition: CameraInfo.h:1436
std::string toString() const
Get the value as string
CameraInfo()
Default constructor
CameraInfo & set(const Revision::Minor &value)
Set Revision::Minor
Definition: CameraInfo.h:1364
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