+ public:\r
+ /**\r
+ * Constructor of TypeInfo.\r
+ *\r
+ * @param VariantType - type of property.\r
+ * @param VariantType - type of parent property.\r
+ * @param int - depth of property.\r
+ */\r
+ TypeInfo(VariantType type = VariantType::UNKNOWN,\r
+ VariantType baseType = VariantType::UNKNOWN,\r
+ int depth = 0);\r
+\r
+ TypeInfo(const TypeInfo &) = default;\r
+\r
+ TypeInfo &operator=(const TypeInfo &) = default;\r
+\r
+ TypeInfo(TypeInfo &&) = default;\r
+\r
+ TypeInfo &operator=(TypeInfo &&) = default;\r
+\r
+ /**\r
+ * This method is for getting type of properties.\r
+ *\r
+ * @return VariantType of Property\r
+ */\r
+ VariantType type() const;\r
+\r
+ /**\r
+ * This method is for getting base or parent type of properties.\r
+ *\r
+ * @return VariantType of parent Property\r
+ */\r
+ VariantType baseType() const;\r
+\r
+ /**\r
+ * This method is for getting depth of properties.\r
+ *\r
+ * @return depth as int\r
+ */\r
+ int depth() const;\r
+\r
+ /**\r
+ * operator for TypeInfo to check equality.\r
+ *\r
+ * @param TypeInfo.\r
+ */\r
+ bool operator ==(const TypeInfo &) const;\r
+\r
+ /**\r
+ * operator for TypeInfo to check inequality.\r
+ *\r
+ * @param TypeInfo.\r
+ */\r
+ bool operator !=(const TypeInfo &) const;\r
+\r
+ private:\r
+ VariantType m_type;\r
+ VariantType m_baseType;\r
+ int m_depth;\r
+ };\r