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