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" };
262 return { ValueType::zividOnePlusSmall,
263 ValueType::zividOnePlusMedium,
264 ValueType::zividOnePlusLarge,
266 ValueType::zividTwoL100 };
274 : m_value{ verifyValue(value) }
292 return m_value == other.m_value;
298 return m_value != other.m_value;
308 void setFromString(
const std::string &value);
310 constexpr ValueType
static verifyValue(
const ValueType &value)
312 return value == ValueType::zividOnePlusSmall || value == ValueType::zividOnePlusMedium
313 || value == ValueType::zividOnePlusLarge || value == ValueType::zividTwo
314 || value == ValueType::zividTwoL100
316 :
throw std::invalid_argument{
317 "Invalid value: Model{ "
318 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
324 friend struct DataModel::Detail::Befriend<
Model>;
335 static constexpr const char *path{
"ModelName" };
338 static constexpr const char *name{
"ModelName" };
341 static constexpr const char *description{ R
"description(The model name of the camera)description" };
349 return { 0, std::numeric_limits<ValueType::size_type>::max() };
357 : m_value{ std::move(value) }
369 return m_value == other.m_value;
375 return m_value != other.m_value;
381 return m_value < other.m_value;
387 return m_value > other.m_value;
397 void setFromString(
const std::string &value);
399 std::string m_value{};
401 friend struct DataModel::Detail::Befriend<
ModelName>;
412 static constexpr const char *path{
"Revision" };
415 static constexpr const char *name{
"Revision" };
418 static constexpr const char *description{ R
"description(The hardware revision of the camera)description" };
428 static constexpr const char *path{
"Revision/Major" };
431 static constexpr const char *name{
"Major" };
434 static constexpr const char *description{ R
"description(Major hardware revision number)description" };
442 return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
449 explicit constexpr Major(uint32_t value)
462 return m_value == other.m_value;
468 return m_value != other.m_value;
474 return m_value < other.m_value;
480 return m_value > other.m_value;
490 void setFromString(
const std::string &value);
492 uint32_t m_value{ 0 };
494 friend struct DataModel::Detail::Befriend<
Major>;
505 static constexpr const char *path{
"Revision/Minor" };
508 static constexpr const char *name{
"Minor" };
511 static constexpr const char *description{ R
"description(Minor hardware revision number)description" };
519 return { std::numeric_limits<uint32_t>::lowest(), std::numeric_limits<uint32_t>::max() };
526 explicit constexpr Minor(uint32_t value)
539 return m_value == other.m_value;
545 return m_value != other.m_value;
551 return m_value < other.m_value;
557 return m_value > other.m_value;
567 void setFromString(
const std::string &value);
569 uint32_t m_value{ 0 };
571 friend struct DataModel::Detail::Befriend<
Minor>;
574 using Descendants = std::tuple<CameraInfo::Revision::Major, CameraInfo::Revision::Minor>;
594 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
595 typename std::enable_if<
596 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
600 template<typename... Args>
604 using namespace Zivid::Detail::TypeTraits;
607 AllArgsDecayedAreUnique<Args...>::value,
608 "Found duplicate types among the arguments passed to Revision(...). "
609 "Types should be listed at most once.");
611 set(std::forward<Args>(args)...);
626 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
628 template<typename... Args>
632 using namespace Zivid::Detail::TypeTraits;
634 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
636 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
639 AllArgsDecayedAreUnique<Args...>::value,
640 "Found duplicate types among the arguments passed to set(...). "
641 "Types should be listed at most once.");
643 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
659 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
661 template<typename... Args>
665 using namespace Zivid::Detail::TypeTraits;
667 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
669 AllArgsAreDescendantNodes::value,
670 "All arguments passed to copyWith(...) must be descendant nodes.");
673 AllArgsDecayedAreUnique<Args...>::value,
674 "Found duplicate types among the arguments passed to copyWith(...). "
675 "Types should be listed at most once.");
678 copy.
set(std::forward<Args>(args)...);
722 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value,
int>::type = 0>
730 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value,
int>::type = 0>
736 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
742 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
780 void setFromString(
const std::string &value);
782 void setFromString(
const std::string &fullPath,
const std::string &value);
784 std::string getString(
const std::string &fullPath)
const;
789 friend struct DataModel::Detail::Befriend<
Revision>;
800 static constexpr const char *path{
"SerialNumber" };
803 static constexpr const char *name{
"SerialNumber" };
806 static constexpr const char *description{ R
"description(The serial number of the camera)description" };
814 return { 0, std::numeric_limits<ValueType::size_type>::max() };
822 : m_value{ std::move(value) }
834 return m_value == other.m_value;
840 return m_value != other.m_value;
846 return m_value < other.m_value;
852 return m_value > other.m_value;
862 void setFromString(
const std::string &value);
864 std::string m_value{};
866 friend struct DataModel::Detail::Befriend<
SerialNumber>;
877 static constexpr const char *path{
"UserData" };
880 static constexpr const char *name{
"UserData" };
883 static constexpr const char *description{
884 R
"description(Information about user data capabilities of the camera)description"
895 static constexpr const char *path{
"UserData/MaxSizeBytes" };
898 static constexpr const char *name{
"MaxSizeBytes" };
901 static constexpr const char *description{
902 R
"description(The maximum number of bytes of user data that can be stored in the camera)description"
911 return { std::numeric_limits<uint64_t>::lowest(), std::numeric_limits<uint64_t>::max() };
931 return m_value == other.m_value;
937 return m_value != other.m_value;
943 return m_value < other.m_value;
949 return m_value > other.m_value;
959 void setFromString(
const std::string &value);
961 uint64_t m_value{ 0 };
963 friend struct DataModel::Detail::Befriend<
MaxSizeBytes>;
966 using Descendants = std::tuple<CameraInfo::UserData::MaxSizeBytes>;
985 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
986 typename std::enable_if<
987 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
991 template<typename... Args>
995 using namespace Zivid::Detail::TypeTraits;
998 AllArgsDecayedAreUnique<Args...>::value,
999 "Found duplicate types among the arguments passed to UserData(...). "
1000 "Types should be listed at most once.");
1002 set(std::forward<Args>(args)...);
1016 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1018 template<typename... Args>
1022 using namespace Zivid::Detail::TypeTraits;
1024 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1026 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1029 AllArgsDecayedAreUnique<Args...>::value,
1030 "Found duplicate types among the arguments passed to set(...). "
1031 "Types should be listed at most once.");
1033 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1048 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1050 template<typename... Args>
1054 using namespace Zivid::Detail::TypeTraits;
1056 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1058 AllArgsAreDescendantNodes::value,
1059 "All arguments passed to copyWith(...) must be descendant nodes.");
1062 AllArgsDecayedAreUnique<Args...>::value,
1063 "Found duplicate types among the arguments passed to copyWith(...). "
1064 "Types should be listed at most once.");
1067 copy.
set(std::forward<Args>(args)...);
1074 return m_maxSizeBytes;
1080 return m_maxSizeBytes;
1086 m_maxSizeBytes = value;
1092 typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value,
int>::type = 0>
1095 return m_maxSizeBytes;
1098 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1101 return m_maxSizeBytes;
1105 template<
typename F>
1112 template<
typename F>
1134 void setFromString(
const std::string &value);
1136 void setFromString(
const std::string &fullPath,
const std::string &value);
1138 std::string getString(
const std::string &fullPath)
const;
1142 friend struct DataModel::Detail::Befriend<
UserData>;
1184 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1185 typename std::enable_if<
1186 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
1189 template<typename... Args>
1193 using namespace Zivid::Detail::TypeTraits;
1196 AllArgsDecayedAreUnique<Args...>::value,
1197 "Found duplicate types among the arguments passed to CameraInfo(...). "
1198 "Types should be listed at most once.");
1200 set(std::forward<Args>(args)...);
1222 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1224 template<typename... Args>
1228 using namespace Zivid::Detail::TypeTraits;
1230 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1232 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1235 AllArgsDecayedAreUnique<Args...>::value,
1236 "Found duplicate types among the arguments passed to set(...). "
1237 "Types should be listed at most once.");
1239 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1262 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1264 template<typename... Args>
1268 using namespace Zivid::Detail::TypeTraits;
1270 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1272 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
1275 AllArgsDecayedAreUnique<Args...>::value,
1276 "Found duplicate types among the arguments passed to copyWith(...). "
1277 "Types should be listed at most once.");
1280 copy.
set(std::forward<Args>(args)...);
1287 return m_firmwareVersion;
1293 return m_firmwareVersion;
1299 m_firmwareVersion = value;
1337 m_modelName = value;
1363 m_revision.
set(value);
1370 m_revision.
set(value);
1377 return m_serialNumber;
1383 return m_serialNumber;
1389 m_serialNumber = value;
1415 m_userData.
set(value);
1421 typename std::enable_if<std::is_same<T, CameraInfo::FirmwareVersion>::value,
int>::type = 0>
1424 return m_firmwareVersion;
1427 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Model>::value,
int>::type = 0>
1433 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::ModelName>::value,
int>::type = 0>
1439 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::Revision>::value,
int>::type = 0>
1447 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Major>::value,
int>::type = 0>
1455 typename std::enable_if<std::is_same<T, CameraInfo::Revision::Minor>::value,
int>::type = 0>
1461 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::SerialNumber>::value,
int>::type = 0>
1464 return m_serialNumber;
1467 template<typename T, typename std::enable_if<std::is_same<T, CameraInfo::UserData>::value,
int>::type = 0>
1475 typename std::enable_if<std::is_same<T, CameraInfo::UserData::MaxSizeBytes>::value,
int>::type = 0>
1481 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1484 return m_firmwareVersion;
1487 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1493 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1499 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
1505 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
1508 return m_serialNumber;
1511 template<size_t i, typename std::enable_if<i == 5, int>::type = 0>
1518 template<
typename F>
1521 f(m_firmwareVersion);
1530 template<
typename F>
1533 f(m_firmwareVersion);
1557 void save(
const std::string &fileName)
const;
1560 void load(
const std::string &fileName);
1563 void setFromString(
const std::string &value);
1565 void setFromString(
const std::string &fullPath,
const std::string &value);
1567 std::string getString(
const std::string &fullPath)
const;
1576 friend struct DataModel::Detail::Befriend<
CameraInfo>;
1581 struct CameraInfo::Version<1>
1590# pragma warning(pop)
1594# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
1599 struct tuple_size<
Zivid::CameraInfo::Revision> : integral_constant<size_t, 2>
1603 struct tuple_element<i,
Zivid::CameraInfo::Revision>
1605 static_assert(i < tuple_size<Zivid::CameraInfo::Revision>::value,
"Index must be less than 2");
1608 =
decltype(declval<Zivid::CameraInfo::Revision>().get<i>());
1612 struct tuple_size<
Zivid::CameraInfo::UserData> : integral_constant<size_t, 1>
1616 struct tuple_element<i,
Zivid::CameraInfo::UserData>
1618 static_assert(i < tuple_size<Zivid::CameraInfo::UserData>::value,
"Index must be less than 1");
1621 =
decltype(declval<Zivid::CameraInfo::UserData>().get<i>());
1625 struct tuple_size<
Zivid::CameraInfo> : integral_constant<size_t, 6>
1629 struct tuple_element<i,
Zivid::CameraInfo>
1631 static_assert(i < tuple_size<Zivid::CameraInfo>::value,
"Index must be less than 6");
1634 =
decltype(declval<Zivid::CameraInfo>().get<i>());
1643#if defined(__has_include) && !defined(NO_DOC)
1644# if __has_include("Zivid/CameraInfoInternal.h") && __has_include("Zivid/DataModelSerializationMetaData.h")
1645# 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:329
bool operator==(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:367
ModelName()=default
Default constructor
std::string toString() const
Get the value as string
ModelName(std::string value)
Constructor
Definition: CameraInfo.h:356
std::string ValueType
The type of the underlying value
Definition: CameraInfo.h:344
bool operator<(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:379
bool operator>(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:385
friend std::ostream & operator<<(std::ostream &stream, const ModelName &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:391
const std::string & value() const
Get the value
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for ModelName
Definition: CameraInfo.h:347
bool operator!=(const ModelName &other) const
Comparison operator
Definition: CameraInfo.h:373
The model of the camera
Definition: CameraInfo.h:230
static const Model zividOnePlusSmall
zividOnePlusSmall
Definition: CameraInfo.h:253
static const Model zividTwo
zividTwo
Definition: CameraInfo.h:256
std::string toString() const
Get the value as string
constexpr Model(ValueType value)
Constructor
Definition: CameraInfo.h:273
Model()=default
Default constructor
static const Model zividOnePlusMedium
zividOnePlusMedium
Definition: CameraInfo.h:254
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:284
friend std::ostream & operator<<(std::ostream &stream, const Model &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:302
static std::set< ValueType > validValues()
All valid values of Model
Definition: CameraInfo.h:260
ValueType
The type of the underlying value
Definition: CameraInfo.h:246
static const Model zividOnePlusLarge
zividOnePlusLarge
Definition: CameraInfo.h:255
bool operator!=(const Model &other) const
Comparison operator
Definition: CameraInfo.h:296
static const Model zividTwoL100
zividTwoL100
Definition: CameraInfo.h:257
bool operator==(const Model &other) const
Comparison operator
Definition: CameraInfo.h:290
Major hardware revision number
Definition: CameraInfo.h:422
std::string toString() const
Get the value as string
bool operator!=(const Major &other) const
Comparison operator
Definition: CameraInfo.h:466
uint32_t ValueType
The type of the underlying value
Definition: CameraInfo.h:437
friend std::ostream & operator<<(std::ostream &stream, const Major &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:484
static constexpr Range< uint32_t > validRange()
The range of valid values for Major
Definition: CameraInfo.h:440
bool operator>(const Major &other) const
Comparison operator
Definition: CameraInfo.h:478
uint32_t value() const
Get the value
constexpr Major(uint32_t value)
Constructor
Definition: CameraInfo.h:449
bool operator<(const Major &other) const
Comparison operator
Definition: CameraInfo.h:472
Major()=default
Default constructor
bool operator==(const Major &other) const
Comparison operator
Definition: CameraInfo.h:460
Minor hardware revision number
Definition: CameraInfo.h:499
bool operator>(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:555
bool operator!=(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:543
constexpr Minor(uint32_t value)
Constructor
Definition: CameraInfo.h:526
uint32_t ValueType
The type of the underlying value
Definition: CameraInfo.h:514
friend std::ostream & operator<<(std::ostream &stream, const Minor &value)
Operator to serialize the value to a stream
Definition: CameraInfo.h:561
bool operator==(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:537
std::string toString() const
Get the value as string
Minor()=default
Default constructor
bool operator<(const Minor &other) const
Comparison operator
Definition: CameraInfo.h:549
static constexpr Range< uint32_t > validRange()
The range of valid values for Minor
Definition: CameraInfo.h:517
uint32_t value() const
Get the value
The hardware revision of the camera
Definition: CameraInfo.h:406
const Major & major() const
Get Major
Definition: CameraInfo.h:683
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:663
Minor & minor()
Get Minor
Definition: CameraInfo.h:708
Revision & set(const Minor &value)
Set Minor
Definition: CameraInfo.h:714
std::tuple< CameraInfo::Revision::Major, CameraInfo::Revision::Minor > Descendants
Definition: CameraInfo.h:574
Revision & set(const Major &value)
Set Major
Definition: CameraInfo.h:695
bool operator==(const Revision &other) const
Equality operator
const CameraInfo::Revision::Minor & get() const
Definition: CameraInfo.h:731
std::string toString() const
Get the value as string
const Minor & minor() const
Get Minor
Definition: CameraInfo.h:702
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: CameraInfo.h:758
Major & major()
Get Major
Definition: CameraInfo.h:689
const CameraInfo::Revision::Major & get() const
Definition: CameraInfo.h:723
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:750
Revision(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraInfo.h:602
friend std::ostream & operator<<(std::ostream &stream, const Revision &value)
Operator to send the value as string to a stream
Definition: CameraInfo.h:774
void set(Args &&...args)
Set multiple arguments
Definition: CameraInfo.h:630
bool operator!=(const Revision &other) const
Inequality operator
The serial number of the camera
Definition: CameraInfo.h:794
SerialNumber(std::string value)
Constructor
Definition: CameraInfo.h:821
const std::string & value() const
Get the value
bool operator==(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:832
std::string ValueType
The type of the underlying value
Definition: CameraInfo.h:809
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:856
std::string toString() const
Get the value as string
bool operator>(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:850
bool operator<(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:844
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for SerialNumber
Definition: CameraInfo.h:812
bool operator!=(const SerialNumber &other) const
Comparison operator
Definition: CameraInfo.h:838
The maximum number of bytes of user data that can be stored in the camera
Definition: CameraInfo.h:889
bool operator!=(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:935
bool operator>(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:947
MaxSizeBytes()=default
Default constructor
constexpr MaxSizeBytes(uint64_t value)
Constructor
Definition: CameraInfo.h:918
uint64_t value() const
Get the value
bool operator<(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:941
bool operator==(const MaxSizeBytes &other) const
Comparison operator
Definition: CameraInfo.h:929
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:953
static constexpr Range< uint64_t > validRange()
The range of valid values for MaxSizeBytes
Definition: CameraInfo.h:909
uint64_t ValueType
The type of the underlying value
Definition: CameraInfo.h:906
Information about user data capabilities of the camera
Definition: CameraInfo.h:871
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:1113
MaxSizeBytes & maxSizeBytes()
Get MaxSizeBytes
Definition: CameraInfo.h:1078
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:1052
friend std::ostream & operator<<(std::ostream &stream, const UserData &value)
Operator to send the value as string to a stream
Definition: CameraInfo.h:1128
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:1106
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition: CameraInfo.h:1093
std::tuple< CameraInfo::UserData::MaxSizeBytes > Descendants
Definition: CameraInfo.h:966
bool operator!=(const UserData &other) const
Inequality operator
UserData()
Default constructor
UserData(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraInfo.h:993
const MaxSizeBytes & maxSizeBytes() const
Get MaxSizeBytes
Definition: CameraInfo.h:1072
UserData & set(const MaxSizeBytes &value)
Set MaxSizeBytes
Definition: CameraInfo.h:1084
void set(Args &&...args)
Set multiple arguments
Definition: CameraInfo.h:1020
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:1348
const ModelName & modelName() const
Get ModelName
Definition: CameraInfo.h:1323
FirmwareVersion & firmwareVersion()
Get FirmwareVersion
Definition: CameraInfo.h:1291
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: CameraInfo.h:1531
const UserData & userData() const
Get UserData
Definition: CameraInfo.h:1394
ModelName & modelName()
Get ModelName
Definition: CameraInfo.h:1329
bool operator!=(const CameraInfo &other) const
Inequality operator
CameraInfo & set(const Model &value)
Set Model
Definition: CameraInfo.h:1316
const CameraInfo::FirmwareVersion & get() const
Definition: CameraInfo.h:1422
const CameraInfo::Model & get() const
Definition: CameraInfo.h:1428
CameraInfo(const std::string &fileName)
Construct CameraInfo by loading from file
UserData & userData()
Get UserData
Definition: CameraInfo.h:1400
CameraInfo & set(const ModelName &value)
Set ModelName
Definition: CameraInfo.h:1335
const FirmwareVersion & firmwareVersion() const
Get FirmwareVersion
Definition: CameraInfo.h:1285
const CameraInfo::UserData::MaxSizeBytes & get() const
Definition: CameraInfo.h:1476
const Model & model() const
Get Model
Definition: CameraInfo.h:1304
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:1266
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:1519
Model & model()
Get Model
Definition: CameraInfo.h:1310
friend std::ostream & operator<<(std::ostream &stream, const CameraInfo &value)
Operator to send the value as string to a stream
Definition: CameraInfo.h:1551
const CameraInfo::ModelName & get() const
Definition: CameraInfo.h:1434
CameraInfo & set(const UserData &value)
Set UserData
Definition: CameraInfo.h:1406
CameraInfo & set(const UserData::MaxSizeBytes &value)
Set UserData::MaxSizeBytes
Definition: CameraInfo.h:1413
CameraInfo(Args &&...args)
Constructor taking variadic number of arguments
Definition: CameraInfo.h:1191
const CameraInfo::UserData & get() const
Definition: CameraInfo.h:1468
const CameraInfo::Revision::Minor & get() const
Definition: CameraInfo.h:1456
const SerialNumber & serialNumber() const
Get SerialNumber
Definition: CameraInfo.h:1375
SerialNumber & serialNumber()
Get SerialNumber
Definition: CameraInfo.h:1381
const Revision & revision() const
Get Revision
Definition: CameraInfo.h:1342
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:1154
void load(const std::string &fileName)
Load from the given file
CameraInfo & set(const FirmwareVersion &value)
Set FirmwareVersion
Definition: CameraInfo.h:1297
const CameraInfo::Revision::Major & get() const
Definition: CameraInfo.h:1448
void set(Args &&...args)
Set multiple arguments
Definition: CameraInfo.h:1226
CameraInfo & set(const Revision &value)
Set Revision
Definition: CameraInfo.h:1354
CameraInfo & set(const Revision::Major &value)
Set Revision::Major
Definition: CameraInfo.h:1361
CameraInfo & set(const SerialNumber &value)
Set SerialNumber
Definition: CameraInfo.h:1387
const CameraInfo::SerialNumber & get() const
Definition: CameraInfo.h:1462
const CameraInfo::Revision & get() const
Definition: CameraInfo.h:1440
std::string toString() const
Get the value as string
CameraInfo()
Default constructor
CameraInfo & set(const Revision::Minor &value)
Set Revision::Minor
Definition: CameraInfo.h:1368
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