68# pragma warning(disable : 4251)
84 static constexpr const char *path{
"" };
87 static constexpr const char *name{
"FrameInfo" };
90 static constexpr const char *description{ R
"description(Various information for a frame)description" };
92 static constexpr size_t version{ 3 };
102 static constexpr std::array<uint8_t, 3> binaryId{
'f',
'i',
'f' };
116 static constexpr const char *path{
"SoftwareVersion" };
119 static constexpr const char *name{
"SoftwareVersion" };
122 static constexpr const char *description{
123 R
"description(The version information for installed software at the time of image capture)description"
136 static constexpr const char *path{
"SoftwareVersion/Core" };
139 static constexpr const char *name{
"Core" };
142 static constexpr const char *description{ R
"description(Core version)description" };
150 return { 0, std::numeric_limits<ValueType::size_type>::max() };
157 explicit Core(std::string value)
158 : m_value{ std::move(value) }
170 return m_value == other.m_value;
176 return m_value != other.m_value;
182 return m_value < other.m_value;
188 return m_value > other.m_value;
194 return m_value <= other.m_value;
200 return m_value >= other.m_value;
210 void setFromString(
const std::string &value);
212 std::string m_value{
"No-version" };
214 friend struct DataModel::Detail::Befriend<
Core>;
236 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
237 typename std::enable_if<
238 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
242 template<typename... Args>
246 using namespace Zivid::Detail::TypeTraits;
249 AllArgsDecayedAreUnique<Args...>::value,
250 "Found duplicate types among the arguments passed to SoftwareVersion(...). "
251 "Types should be listed at most once.");
253 set(std::forward<Args>(args)...);
267 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
269 template<typename... Args>
273 using namespace Zivid::Detail::TypeTraits;
275 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
277 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
280 AllArgsDecayedAreUnique<Args...>::value,
281 "Found duplicate types among the arguments passed to set(...). "
282 "Types should be listed at most once.");
284 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
299 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
301 template<typename... Args>
305 using namespace Zivid::Detail::TypeTraits;
307 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
309 AllArgsAreDescendantNodes::value,
310 "All arguments passed to copyWith(...) must be descendant nodes.");
313 AllArgsDecayedAreUnique<Args...>::value,
314 "Found duplicate types among the arguments passed to copyWith(...). "
315 "Types should be listed at most once.");
318 copy.
set(std::forward<Args>(args)...);
343 typename std::enable_if<std::is_same<T, FrameInfo::SoftwareVersion::Core>::value,
int>::type = 0>
349 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
385 void setFromString(
const std::string &value);
387 void setFromString(
const std::string &fullPath,
const std::string &value);
389 std::string getString(
const std::string &fullPath)
const;
406 static constexpr const char *path{
"SystemInfo" };
409 static constexpr const char *name{
"SystemInfo" };
412 static constexpr const char *description{
413 R
"description(Information about the system that captured this frame)description"
426 static constexpr const char *path{
"SystemInfo/CPU" };
429 static constexpr const char *name{
"CPU" };
432 static constexpr const char *description{ R
"description(CPU)description" };
444 static constexpr const char *path{
"SystemInfo/CPU/Model" };
447 static constexpr const char *name{
"Model" };
450 static constexpr const char *description{ R
"description(CPU model)description" };
458 return { 0, std::numeric_limits<ValueType::size_type>::max() };
466 : m_value{ std::move(value) }
478 return m_value == other.m_value;
484 return m_value != other.m_value;
490 return m_value < other.m_value;
496 return m_value > other.m_value;
502 return m_value <= other.m_value;
508 return m_value >= other.m_value;
518 void setFromString(
const std::string &value);
520 std::string m_value{};
522 friend struct DataModel::Detail::Befriend<
Model>;
525 using Descendants = std::tuple<FrameInfo::SystemInfo::CPU::Model>;
544 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
545 typename std::enable_if<
546 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
550 template<typename... Args>
552 explicit
CPU(Args &&...args)
554 using namespace Zivid::Detail::TypeTraits;
557 AllArgsDecayedAreUnique<Args...>::value,
558 "Found duplicate types among the arguments passed to CPU(...). "
559 "Types should be listed at most once.");
561 set(std::forward<Args>(args)...);
575 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
577 template<typename... Args>
581 using namespace Zivid::Detail::TypeTraits;
583 using AllArgsAreDescendantNodes =
584 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
586 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
589 AllArgsDecayedAreUnique<Args...>::value,
590 "Found duplicate types among the arguments passed to set(...). "
591 "Types should be listed at most once.");
593 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
608 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
610 template<typename... Args>
614 using namespace Zivid::Detail::TypeTraits;
616 using AllArgsAreDescendantNodes =
617 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
619 AllArgsAreDescendantNodes::value,
620 "All arguments passed to copyWith(...) must be descendant nodes.");
623 AllArgsDecayedAreUnique<Args...>::value,
624 "Found duplicate types among the arguments passed to copyWith(...). "
625 "Types should be listed at most once.");
628 copy.
set(std::forward<Args>(args)...);
653 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::CPU::Model>::value,
int>::type = 0>
659 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
695 void setFromString(
const std::string &value);
697 void setFromString(
const std::string &fullPath,
const std::string &value);
699 std::string getString(
const std::string &fullPath)
const;
703 friend struct DataModel::Detail::Befriend<
CPU>;
716 static constexpr const char *path{
"SystemInfo/ComputeDevice" };
719 static constexpr const char *name{
"ComputeDevice" };
722 static constexpr const char *description{ R
"description(Compute device)description" };
734 static constexpr const char *path{
"SystemInfo/ComputeDevice/Model" };
737 static constexpr const char *name{
"Model" };
740 static constexpr const char *description{ R
"description(Compute device model)description" };
748 return { 0, std::numeric_limits<ValueType::size_type>::max() };
756 : m_value{ std::move(value) }
768 return m_value == other.m_value;
774 return m_value != other.m_value;
780 return m_value < other.m_value;
786 return m_value > other.m_value;
792 return m_value <= other.m_value;
798 return m_value >= other.m_value;
808 void setFromString(
const std::string &value);
810 std::string m_value{};
812 friend struct DataModel::Detail::Befriend<
Model>;
825 static constexpr const char *path{
"SystemInfo/ComputeDevice/Vendor" };
828 static constexpr const char *name{
"Vendor" };
831 static constexpr const char *description{ R
"description(Compute device vendor)description" };
839 return { 0, std::numeric_limits<ValueType::size_type>::max() };
847 : m_value{ std::move(value) }
859 return m_value == other.m_value;
865 return m_value != other.m_value;
871 return m_value < other.m_value;
877 return m_value > other.m_value;
883 return m_value <= other.m_value;
889 return m_value >= other.m_value;
899 void setFromString(
const std::string &value);
901 std::string m_value{};
903 friend struct DataModel::Detail::Befriend<
Vendor>;
907 tuple<FrameInfo::SystemInfo::ComputeDevice::Model, FrameInfo::SystemInfo::ComputeDevice::Vendor>;
927 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
928 typename std::enable_if<
929 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
933 template<typename... Args>
937 using namespace Zivid::Detail::TypeTraits;
940 AllArgsDecayedAreUnique<Args...>::value,
941 "Found duplicate types among the arguments passed to ComputeDevice(...). "
942 "Types should be listed at most once.");
944 set(std::forward<Args>(args)...);
959 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
961 template<typename... Args>
965 using namespace Zivid::Detail::TypeTraits;
967 using AllArgsAreDescendantNodes =
968 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
970 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
973 AllArgsDecayedAreUnique<Args...>::value,
974 "Found duplicate types among the arguments passed to set(...). "
975 "Types should be listed at most once.");
977 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
993 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
995 template<typename... Args>
999 using namespace Zivid::Detail::TypeTraits;
1001 using AllArgsAreDescendantNodes =
1002 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1004 AllArgsAreDescendantNodes::value,
1005 "All arguments passed to copyWith(...) must be descendant nodes.");
1008 AllArgsDecayedAreUnique<Args...>::value,
1009 "Found duplicate types among the arguments passed to copyWith(...). "
1010 "Types should be listed at most once.");
1013 copy.
set(std::forward<Args>(args)...);
1057 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice::Model>::value,
int>::
1066 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice::Vendor>::value,
int>::
1073 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1079 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1086 template<
typename F>
1094 template<
typename F>
1117 void setFromString(
const std::string &value);
1119 void setFromString(
const std::string &fullPath,
const std::string &value);
1121 std::string getString(
const std::string &fullPath)
const;
1139 static constexpr const char *path{
"SystemInfo/OperatingSystem" };
1142 static constexpr const char *name{
"OperatingSystem" };
1145 static constexpr const char *description{ R
"description(Operating system)description" };
1153 return { 0, std::numeric_limits<ValueType::size_type>::max() };
1161 : m_value{ std::move(value) }
1173 return m_value == other.m_value;
1179 return m_value != other.m_value;
1185 return m_value < other.m_value;
1191 return m_value > other.m_value;
1197 return m_value <= other.m_value;
1203 return m_value >= other.m_value;
1213 void setFromString(
const std::string &value);
1215 std::string m_value{};
1250 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1251 typename std::enable_if<
1252 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1256 template<typename... Args>
1260 using namespace Zivid::Detail::TypeTraits;
1263 AllArgsDecayedAreUnique<Args...>::value,
1264 "Found duplicate types among the arguments passed to SystemInfo(...). "
1265 "Types should be listed at most once.");
1267 set(std::forward<Args>(args)...);
1286 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1288 template<typename... Args>
1292 using namespace Zivid::Detail::TypeTraits;
1294 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1296 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1299 AllArgsDecayedAreUnique<Args...>::value,
1300 "Found duplicate types among the arguments passed to set(...). "
1301 "Types should be listed at most once.");
1303 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1323 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1325 template<typename... Args>
1329 using namespace Zivid::Detail::TypeTraits;
1331 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1333 AllArgsAreDescendantNodes::value,
1334 "All arguments passed to copyWith(...) must be descendant nodes.");
1337 AllArgsDecayedAreUnique<Args...>::value,
1338 "Found duplicate types among the arguments passed to copyWith(...). "
1339 "Types should be listed at most once.");
1342 copy.
set(std::forward<Args>(args)...);
1375 return m_computeDevice;
1381 return m_computeDevice;
1387 m_computeDevice = value;
1394 m_computeDevice.
set(value);
1401 m_computeDevice.
set(value);
1408 return m_operatingSystem;
1414 return m_operatingSystem;
1420 m_operatingSystem = value;
1426 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::CPU>::value,
int>::type = 0>
1434 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::CPU::Model>::value,
int>::type = 0>
1442 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice>::value,
int>::type = 0>
1445 return m_computeDevice;
1450 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice::Model>::value,
int>::
1459 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice::Vendor>::value,
int>::
1468 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::OperatingSystem>::value,
int>::type = 0>
1471 return m_operatingSystem;
1474 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1480 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1483 return m_computeDevice;
1486 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1489 return m_operatingSystem;
1493 template<
typename F>
1498 f(m_operatingSystem);
1502 template<
typename F>
1507 f(m_operatingSystem);
1526 void setFromString(
const std::string &value);
1528 void setFromString(
const std::string &fullPath,
const std::string &value);
1530 std::string getString(
const std::string &fullPath)
const;
1536 friend struct DataModel::Detail::Befriend<
SystemInfo>;
1549 static constexpr const char *path{
"TimeStamp" };
1552 static constexpr const char *name{
"TimeStamp" };
1555 static constexpr const char *description{ R
"description(The time of frame capture)description" };
1563 return { std::chrono::system_clock::time_point::min(), std::chrono::system_clock::time_point::max() };
1570 explicit constexpr TimeStamp(std::chrono::system_clock::time_point value)
1575 std::chrono::system_clock::time_point
value()
const;
1583 return m_value == other.m_value;
1589 return m_value != other.m_value;
1595 return m_value < other.m_value;
1601 return m_value > other.m_value;
1607 return m_value <= other.m_value;
1613 return m_value >= other.m_value;
1623 void setFromString(
const std::string &value);
1625 std::chrono::system_clock::time_point m_value{};
1627 friend struct DataModel::Detail::Befriend<
TimeStamp>;
1671 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1672 typename std::enable_if<
1673 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
1676 template<typename... Args>
1680 using namespace Zivid::Detail::TypeTraits;
1683 AllArgsDecayedAreUnique<Args...>::value,
1684 "Found duplicate types among the arguments passed to FrameInfo(...). "
1685 "Types should be listed at most once.");
1687 set(std::forward<Args>(args)...);
1710 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1712 template<typename... Args>
1716 using namespace Zivid::Detail::TypeTraits;
1718 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1720 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1723 AllArgsDecayedAreUnique<Args...>::value,
1724 "Found duplicate types among the arguments passed to set(...). "
1725 "Types should be listed at most once.");
1727 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1751 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1753 template<typename... Args>
1757 using namespace Zivid::Detail::TypeTraits;
1759 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1761 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
1764 AllArgsDecayedAreUnique<Args...>::value,
1765 "Found duplicate types among the arguments passed to copyWith(...). "
1766 "Types should be listed at most once.");
1769 copy.
set(std::forward<Args>(args)...);
1776 return m_softwareVersion;
1782 return m_softwareVersion;
1788 m_softwareVersion = value;
1795 m_softwareVersion.
set(value);
1802 return m_systemInfo;
1808 return m_systemInfo;
1814 m_systemInfo = value;
1821 m_systemInfo.
set(value);
1828 m_systemInfo.
set(value);
1835 m_systemInfo.
set(value);
1842 m_systemInfo.
set(value);
1849 m_systemInfo.
set(value);
1856 m_systemInfo.
set(value);
1875 m_timeStamp = value;
1879 template<typename T, typename std::enable_if<std::is_same<T, FrameInfo::SoftwareVersion>::value,
int>::type = 0>
1882 return m_softwareVersion;
1887 typename std::enable_if<std::is_same<T, FrameInfo::SoftwareVersion::Core>::value,
int>::type = 0>
1893 template<typename T, typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo>::value,
int>::type = 0>
1896 return m_systemInfo;
1899 template<typename T, typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::CPU>::value,
int>::type = 0>
1907 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::CPU::Model>::value,
int>::type = 0>
1915 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice>::value,
int>::type = 0>
1923 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice::Model>::value,
int>::type = 0>
1931 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::ComputeDevice::Vendor>::value,
int>::type =
1940 typename std::enable_if<std::is_same<T, FrameInfo::SystemInfo::OperatingSystem>::value,
int>::type = 0>
1946 template<typename T, typename std::enable_if<std::is_same<T, FrameInfo::TimeStamp>::value,
int>::type = 0>
1952 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1955 return m_softwareVersion;
1958 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1961 return m_systemInfo;
1964 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1971 template<
typename F>
1974 f(m_softwareVersion);
1980 template<
typename F>
1983 f(m_softwareVersion);
2004 void save(
const std::string &fileName)
const;
2007 void load(
const std::string &fileName);
2010 void setFromString(
const std::string &value);
2012 void setFromString(
const std::string &fullPath,
const std::string &value);
2014 std::string getString(
const std::string &fullPath)
const;
2020 friend struct DataModel::Detail::Befriend<
FrameInfo>;
2034 struct FrameInfo::Version<3>
2036 using Type = FrameInfo;
2043# pragma warning(pop)
2047# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
2052 struct tuple_size<
Zivid::FrameInfo::SoftwareVersion> : integral_constant<size_t, 1>
2056 struct tuple_element<i,
Zivid::FrameInfo::SoftwareVersion>
2058 static_assert(i < tuple_size<Zivid::FrameInfo::SoftwareVersion>::value,
"Index must be less than 1");
2061 =
decltype(declval<Zivid::FrameInfo::SoftwareVersion>().get<i>());
2065 struct tuple_size<
Zivid::FrameInfo::SystemInfo> : integral_constant<size_t, 3>
2069 struct tuple_element<i,
Zivid::FrameInfo::SystemInfo>
2071 static_assert(i < tuple_size<Zivid::FrameInfo::SystemInfo>::value,
"Index must be less than 3");
2074 =
decltype(declval<Zivid::FrameInfo::SystemInfo>().get<i>());
2078 struct tuple_size<
Zivid::FrameInfo::SystemInfo::CPU> : integral_constant<size_t, 1>
2082 struct tuple_element<i,
Zivid::FrameInfo::SystemInfo::CPU>
2084 static_assert(i < tuple_size<Zivid::FrameInfo::SystemInfo::CPU>::value,
"Index must be less than 1");
2087 =
decltype(declval<Zivid::FrameInfo::SystemInfo::CPU>().get<i>());
2091 struct tuple_size<
Zivid::FrameInfo::SystemInfo::ComputeDevice> : integral_constant<size_t, 2>
2095 struct tuple_element<i,
Zivid::FrameInfo::SystemInfo::ComputeDevice>
2097 static_assert(i < tuple_size<Zivid::FrameInfo::SystemInfo::ComputeDevice>::value,
"Index must be less than 2");
2100 =
decltype(declval<Zivid::FrameInfo::SystemInfo::ComputeDevice>().get<i>());
2104 struct tuple_size<
Zivid::FrameInfo> : integral_constant<size_t, 3>
2108 struct tuple_element<i,
Zivid::FrameInfo>
2110 static_assert(i < tuple_size<Zivid::FrameInfo>::value,
"Index must be less than 3");
2113 =
decltype(declval<Zivid::FrameInfo>().get<i>());
2122#if defined(__has_include) && !defined(NO_DOC)
2123# if __has_include("Zivid/FrameInfoInternal.h") && __has_include("Zivid/DataModelNodeMetaData.h")
2124# include "Zivid/FrameInfoInternal.h"
#define ZIVID_CORE_EXPORT
Definition CoreExport.h:56
Contains information about the compute device used by Zivid::Application.
Definition ComputeDevice.h:58
Core version.
Definition FrameInfo.h:130
std::string toString() const
Get the value as string.
bool operator>=(const Core &other) const
Comparison operator.
Definition FrameInfo.h:198
const std::string & value() const
Get the value.
bool operator!=(const Core &other) const
Comparison operator.
Definition FrameInfo.h:174
Core(std::string value)
Constructor.
Definition FrameInfo.h:157
bool operator==(const Core &other) const
Comparison operator.
Definition FrameInfo.h:168
Core()=default
Default constructor.
bool operator>(const Core &other) const
Comparison operator.
Definition FrameInfo.h:186
bool operator<(const Core &other) const
Comparison operator.
Definition FrameInfo.h:180
friend std::ostream & operator<<(std::ostream &stream, const Core &value)
Operator to serialize the value to a stream.
Definition FrameInfo.h:204
bool operator<=(const Core &other) const
Comparison operator.
Definition FrameInfo.h:192
std::string ValueType
The type of the underlying value.
Definition FrameInfo.h:145
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Core.
Definition FrameInfo.h:148
The version information for installed software at the time of image capture.
Definition FrameInfo.h:110
const Core & core() const
Get Core.
Definition FrameInfo.h:323
friend std::ostream & operator<<(std::ostream &stream, const SoftwareVersion &value)
Operator to send the value as string to a stream.
Definition FrameInfo.h:379
bool operator!=(const SoftwareVersion &other) const
Inequality operator.
bool operator==(const SoftwareVersion &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 FrameInfo.h:364
SoftwareVersion()
Default constructor.
const FrameInfo::SoftwareVersion::Core & get() const
Definition FrameInfo.h:344
SoftwareVersion copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition FrameInfo.h:303
Core & core()
Get Core.
Definition FrameInfo.h:329
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:357
void set(Args &&...args)
Set multiple arguments.
Definition FrameInfo.h:271
std::tuple< FrameInfo::SoftwareVersion::Core > Descendants
Definition FrameInfo.h:217
SoftwareVersion & set(const Core &value)
Set Core.
Definition FrameInfo.h:335
std::string toString() const
Get the value as string.
CPU model.
Definition FrameInfo.h:438
const std::string & value() const
Get the value.
bool operator!=(const Model &other) const
Comparison operator.
Definition FrameInfo.h:482
Model()=default
Default constructor.
bool operator<(const Model &other) const
Comparison operator.
Definition FrameInfo.h:488
std::string toString() const
Get the value as string.
bool operator==(const Model &other) const
Comparison operator.
Definition FrameInfo.h:476
bool operator>=(const Model &other) const
Comparison operator.
Definition FrameInfo.h:506
friend std::ostream & operator<<(std::ostream &stream, const Model &value)
Operator to serialize the value to a stream.
Definition FrameInfo.h:512
bool operator<=(const Model &other) const
Comparison operator.
Definition FrameInfo.h:500
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Model.
Definition FrameInfo.h:456
std::string ValueType
The type of the underlying value.
Definition FrameInfo.h:453
Model(std::string value)
Constructor.
Definition FrameInfo.h:465
bool operator>(const Model &other) const
Comparison operator.
Definition FrameInfo.h:494
CPU.
Definition FrameInfo.h:420
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:674
const Model & model() const
Get Model.
Definition FrameInfo.h:633
std::tuple< FrameInfo::SystemInfo::CPU::Model > Descendants
Definition FrameInfo.h:525
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:667
bool operator!=(const CPU &other) const
Inequality operator.
std::string toString() const
Get the value as string.
bool operator==(const CPU &other) const
Equality operator.
CPU()
Default constructor.
friend std::ostream & operator<<(std::ostream &stream, const CPU &value)
Operator to send the value as string to a stream.
Definition FrameInfo.h:689
CPU & set(const Model &value)
Set Model.
Definition FrameInfo.h:645
void set(Args &&...args)
Set multiple arguments.
Definition FrameInfo.h:579
CPU copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition FrameInfo.h:612
Model & model()
Get Model.
Definition FrameInfo.h:639
const FrameInfo::SystemInfo::CPU::Model & get() const
Definition FrameInfo.h:654
Compute device model.
Definition FrameInfo.h:728
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Model.
Definition FrameInfo.h:746
std::string toString() const
Get the value as string.
bool operator<=(const Model &other) const
Comparison operator.
Definition FrameInfo.h:790
Model(std::string value)
Constructor.
Definition FrameInfo.h:755
std::string ValueType
The type of the underlying value.
Definition FrameInfo.h:743
const std::string & value() const
Get the value.
bool operator==(const Model &other) const
Comparison operator.
Definition FrameInfo.h:766
bool operator!=(const Model &other) const
Comparison operator.
Definition FrameInfo.h:772
bool operator>=(const Model &other) const
Comparison operator.
Definition FrameInfo.h:796
bool operator>(const Model &other) const
Comparison operator.
Definition FrameInfo.h:784
friend std::ostream & operator<<(std::ostream &stream, const Model &value)
Operator to serialize the value to a stream.
Definition FrameInfo.h:802
bool operator<(const Model &other) const
Comparison operator.
Definition FrameInfo.h:778
Model()=default
Default constructor.
Compute device vendor.
Definition FrameInfo.h:819
bool operator>(const Vendor &other) const
Comparison operator.
Definition FrameInfo.h:875
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Vendor.
Definition FrameInfo.h:837
friend std::ostream & operator<<(std::ostream &stream, const Vendor &value)
Operator to serialize the value to a stream.
Definition FrameInfo.h:893
bool operator>=(const Vendor &other) const
Comparison operator.
Definition FrameInfo.h:887
bool operator<(const Vendor &other) const
Comparison operator.
Definition FrameInfo.h:869
bool operator==(const Vendor &other) const
Comparison operator.
Definition FrameInfo.h:857
std::string ValueType
The type of the underlying value.
Definition FrameInfo.h:834
Vendor()=default
Default constructor.
std::string toString() const
Get the value as string.
bool operator<=(const Vendor &other) const
Comparison operator.
Definition FrameInfo.h:881
const std::string & value() const
Get the value.
bool operator!=(const Vendor &other) const
Comparison operator.
Definition FrameInfo.h:863
Vendor(std::string value)
Constructor.
Definition FrameInfo.h:846
Compute device.
Definition FrameInfo.h:710
void set(Args &&...args)
Set multiple arguments.
Definition FrameInfo.h:963
ComputeDevice & set(const Model &value)
Set Model.
Definition FrameInfo.h:1030
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:1087
const Vendor & vendor() const
Get Vendor.
Definition FrameInfo.h:1037
std:: tuple< FrameInfo::SystemInfo::ComputeDevice::Model, FrameInfo::SystemInfo::ComputeDevice::Vendor > Descendants
Definition FrameInfo.h:906
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:1095
Model & model()
Get Model.
Definition FrameInfo.h:1024
Vendor & vendor()
Get Vendor.
Definition FrameInfo.h:1043
bool operator==(const ComputeDevice &other) const
Equality operator.
const FrameInfo::SystemInfo::ComputeDevice::Vendor & get() const
Definition FrameInfo.h:1068
const Model & model() const
Get Model.
Definition FrameInfo.h:1018
friend std::ostream & operator<<(std::ostream &stream, const ComputeDevice &value)
Operator to send the value as string to a stream.
Definition FrameInfo.h:1111
bool operator!=(const ComputeDevice &other) const
Inequality operator.
std::string toString() const
Get the value as string.
ComputeDevice()
Default constructor.
ComputeDevice & set(const Vendor &value)
Set Vendor.
Definition FrameInfo.h:1049
ComputeDevice copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition FrameInfo.h:997
const FrameInfo::SystemInfo::ComputeDevice::Model & get() const
Definition FrameInfo.h:1059
Operating system.
Definition FrameInfo.h:1133
bool operator>(const OperatingSystem &other) const
Comparison operator.
Definition FrameInfo.h:1189
OperatingSystem(std::string value)
Constructor.
Definition FrameInfo.h:1160
bool operator!=(const OperatingSystem &other) const
Comparison operator.
Definition FrameInfo.h:1177
bool operator<(const OperatingSystem &other) const
Comparison operator.
Definition FrameInfo.h:1183
bool operator>=(const OperatingSystem &other) const
Comparison operator.
Definition FrameInfo.h:1201
bool operator==(const OperatingSystem &other) const
Comparison operator.
Definition FrameInfo.h:1171
std::string ValueType
The type of the underlying value.
Definition FrameInfo.h:1148
OperatingSystem()=default
Default constructor.
bool operator<=(const OperatingSystem &other) const
Comparison operator.
Definition FrameInfo.h:1195
const std::string & value() const
Get the value.
friend std::ostream & operator<<(std::ostream &stream, const OperatingSystem &value)
Operator to serialize the value to a stream.
Definition FrameInfo.h:1207
std::string toString() const
Get the value as string.
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for OperatingSystem.
Definition FrameInfo.h:1151
Information about the system that captured this frame.
Definition FrameInfo.h:400
SystemInfo & set(const CPU::Model &value)
Set CPU::Model.
Definition FrameInfo.h:1366
std::string toString() const
Get the value as string.
const FrameInfo::SystemInfo::CPU & get() const
Definition FrameInfo.h:1427
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:1494
ComputeDevice & computeDevice()
Get ComputeDevice.
Definition FrameInfo.h:1379
SystemInfo & set(const ComputeDevice &value)
Set ComputeDevice.
Definition FrameInfo.h:1385
const FrameInfo::SystemInfo::ComputeDevice::Vendor & get() const
Definition FrameInfo.h:1461
SystemInfo & set(const CPU &value)
Set CPU.
Definition FrameInfo.h:1359
bool operator==(const SystemInfo &other) const
Equality operator.
void set(Args &&...args)
Set multiple arguments.
Definition FrameInfo.h:1290
friend std::ostream & operator<<(std::ostream &stream, const SystemInfo &value)
Operator to send the value as string to a stream.
Definition FrameInfo.h:1520
const ComputeDevice & computeDevice() const
Get ComputeDevice.
Definition FrameInfo.h:1373
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:1503
SystemInfo & set(const ComputeDevice::Vendor &value)
Set ComputeDevice::Vendor.
Definition FrameInfo.h:1399
SystemInfo & set(const OperatingSystem &value)
Set OperatingSystem.
Definition FrameInfo.h:1418
SystemInfo copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition FrameInfo.h:1327
bool operator!=(const SystemInfo &other) const
Inequality operator.
SystemInfo & set(const ComputeDevice::Model &value)
Set ComputeDevice::Model.
Definition FrameInfo.h:1392
const FrameInfo::SystemInfo::OperatingSystem & get() const
Definition FrameInfo.h:1469
CPU & cpu()
Get CPU.
Definition FrameInfo.h:1353
const FrameInfo::SystemInfo::ComputeDevice & get() const
Definition FrameInfo.h:1443
const OperatingSystem & operatingSystem() const
Get OperatingSystem.
Definition FrameInfo.h:1406
OperatingSystem & operatingSystem()
Get OperatingSystem.
Definition FrameInfo.h:1412
SystemInfo()
Default constructor.
const CPU & cpu() const
Get CPU.
Definition FrameInfo.h:1347
const FrameInfo::SystemInfo::ComputeDevice::Model & get() const
Definition FrameInfo.h:1452
std::tuple< FrameInfo::SystemInfo::CPU, FrameInfo::SystemInfo::CPU::Model, FrameInfo::SystemInfo::ComputeDevice, FrameInfo::SystemInfo::ComputeDevice::Model, FrameInfo::SystemInfo::ComputeDevice::Vendor, FrameInfo::SystemInfo::OperatingSystem > Descendants
Definition FrameInfo.h:1220
const FrameInfo::SystemInfo::CPU::Model & get() const
Definition FrameInfo.h:1435
The time of frame capture.
Definition FrameInfo.h:1543
std::chrono::system_clock::time_point value() const
Get the value.
bool operator>(const TimeStamp &other) const
Comparison operator.
Definition FrameInfo.h:1599
bool operator<(const TimeStamp &other) const
Comparison operator.
Definition FrameInfo.h:1593
bool operator<=(const TimeStamp &other) const
Comparison operator.
Definition FrameInfo.h:1605
static constexpr Range< std::chrono::system_clock::time_point > validRange()
The range of valid values for TimeStamp.
Definition FrameInfo.h:1561
bool operator>=(const TimeStamp &other) const
Comparison operator.
Definition FrameInfo.h:1611
std::string toString() const
Get the value as string.
friend std::ostream & operator<<(std::ostream &stream, const TimeStamp &value)
Operator to serialize the value to a stream.
Definition FrameInfo.h:1617
TimeStamp()=default
Default constructor.
constexpr TimeStamp(std::chrono::system_clock::time_point value)
Constructor.
Definition FrameInfo.h:1570
bool operator!=(const TimeStamp &other) const
Comparison operator.
Definition FrameInfo.h:1587
bool operator==(const TimeStamp &other) const
Comparison operator.
Definition FrameInfo.h:1581
std::chrono::system_clock::time_point ValueType
The type of the underlying value.
Definition FrameInfo.h:1558
Various information for a frame.
Definition FrameInfo.h:78
TimeStamp & timeStamp()
Get TimeStamp.
Definition FrameInfo.h:1867
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 FrameInfo.h:1972
const FrameInfo::SoftwareVersion::Core & get() const
Definition FrameInfo.h:1888
FrameInfo & set(const SystemInfo::ComputeDevice &value)
Set SystemInfo::ComputeDevice.
Definition FrameInfo.h:1833
FrameInfo()
Default constructor.
void set(Args &&...args)
Set multiple arguments.
Definition FrameInfo.h:1714
const FrameInfo::SystemInfo::ComputeDevice::Model & get() const
Definition FrameInfo.h:1924
FrameInfo & set(const SystemInfo::OperatingSystem &value)
Set SystemInfo::OperatingSystem.
Definition FrameInfo.h:1854
void save(const std::string &fileName) const
Save to the given file.
const SystemInfo & systemInfo() const
Get SystemInfo.
Definition FrameInfo.h:1800
FrameInfo & set(const SystemInfo &value)
Set SystemInfo.
Definition FrameInfo.h:1812
const TimeStamp & timeStamp() const
Get TimeStamp.
Definition FrameInfo.h:1861
SoftwareVersion & softwareVersion()
Get SoftwareVersion.
Definition FrameInfo.h:1780
FrameInfo(const std::string &fileName)
Construct FrameInfo by loading from file.
FrameInfo & set(const SystemInfo::ComputeDevice::Vendor &value)
Set SystemInfo::ComputeDevice::Vendor.
Definition FrameInfo.h:1847
const FrameInfo::SoftwareVersion & get() const
Definition FrameInfo.h:1880
friend std::ostream & operator<<(std::ostream &stream, const FrameInfo &value)
Operator to send the value as string to a stream.
Definition FrameInfo.h:1998
FrameInfo & set(const TimeStamp &value)
Set TimeStamp.
Definition FrameInfo.h:1873
FrameInfo(Args &&...args)
Constructor taking variadic number of arguments.
Definition FrameInfo.h:1678
const FrameInfo::TimeStamp & get() const
Definition FrameInfo.h:1947
const SoftwareVersion & softwareVersion() const
Get SoftwareVersion.
Definition FrameInfo.h:1774
FrameInfo & set(const SystemInfo::CPU::Model &value)
Set SystemInfo::CPU::Model.
Definition FrameInfo.h:1826
FrameInfo & set(const SystemInfo::ComputeDevice::Model &value)
Set SystemInfo::ComputeDevice::Model.
Definition FrameInfo.h:1840
const FrameInfo::SystemInfo::CPU::Model & get() const
Definition FrameInfo.h:1908
const FrameInfo::SystemInfo::ComputeDevice::Vendor & get() const
Definition FrameInfo.h:1933
FrameInfo & set(const SoftwareVersion &value)
Set SoftwareVersion.
Definition FrameInfo.h:1786
const FrameInfo::SystemInfo & get() const
Definition FrameInfo.h:1894
std::tuple< FrameInfo::SoftwareVersion, FrameInfo::SoftwareVersion::Core, FrameInfo::SystemInfo, FrameInfo::SystemInfo::CPU, FrameInfo::SystemInfo::CPU::Model, FrameInfo::SystemInfo::ComputeDevice, FrameInfo::SystemInfo::ComputeDevice::Model, FrameInfo::SystemInfo::ComputeDevice::Vendor, FrameInfo::SystemInfo::OperatingSystem, FrameInfo::TimeStamp > Descendants
Definition FrameInfo.h:1630
const FrameInfo::SystemInfo::ComputeDevice & get() const
Definition FrameInfo.h:1916
FrameInfo & set(const SoftwareVersion::Core &value)
Set SoftwareVersion::Core.
Definition FrameInfo.h:1793
SystemInfo & systemInfo()
Get SystemInfo.
Definition FrameInfo.h:1806
bool operator!=(const FrameInfo &other) const
Inequality operator.
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition FrameInfo.h:1981
bool operator==(const FrameInfo &other) const
Equality operator.
FrameInfo & set(const SystemInfo::CPU &value)
Set SystemInfo::CPU.
Definition FrameInfo.h:1819
const FrameInfo::SystemInfo::CPU & get() const
Definition FrameInfo.h:1900
void load(const std::string &fileName)
Load from the given file.
FrameInfo copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition FrameInfo.h:1755
const FrameInfo::SystemInfo::OperatingSystem & get() const
Definition FrameInfo.h:1941
Class describing a range of values for a given type T.
Definition Range.h:73
NodeType
Definition NodeType.h:55
The main Zivid namespace. All Zivid code is found here.
Definition Application.h:54