7 #ifndef DYNAMIC_GRAPH_VALUE_H
8 #define DYNAMIC_GRAPH_VALUE_H
23 typedef std::vector<Value>
Values;
29 operator bool()
const;
30 operator std::uint32_t()
const;
31 operator std::uint64_t()
const;
32 operator std::int32_t()
const;
33 operator std::int64_t()
const;
34 operator float()
const;
35 operator double()
const;
36 operator std::string()
const;
38 operator Eigen::MatrixXd()
const;
39 operator Eigen::Matrix4d()
const;
51 class DYNAMIC_GRAPH_DLLAPI
Value {
71 explicit Value(
const bool &value);
72 explicit Value(
const std::uint32_t &value);
73 explicit Value(
const std::uint64_t &value);
74 explicit Value(
const std::int32_t &value);
75 explicit Value(
const std::int64_t &value);
76 explicit Value(
const float &value);
77 explicit Value(
const double &value);
78 explicit Value(
const std::string &value);
80 explicit Value(
const Eigen::MatrixXd &value);
81 explicit Value(
const Eigen::Matrix4d &value);
90 bool operator==(
const Value &other)
const;
107 static std::string typeName(Type type);
110 DYNAMIC_GRAPH_DLLAPI
friend std::ostream &
operator<<(std::ostream &os,
115 bool boolValue()
const;
116 std::uint32_t unsignedValue()
const;
117 std::uint64_t unsignedlongintValue()
const;
118 std::int32_t intValue()
const;
119 std::int64_t longintValue()
const;
120 float floatValue()
const;
121 double doubleValue()
const;
122 std::string stringValue()
const;
123 Vector vectorValue()
const;
124 Eigen::MatrixXd matrixXdValue()
const;
125 Eigen::Matrix4d matrix4dValue()
const;
126 Values valuesValue()
const;
127 const Values &constValuesValue()
const;
136 template <
typename T>
143 #endif // DYNAMIC_GRAPH_VALUE_H