21 struct ObjectContainer;
65 template <
typename ValueType>
66 static Object make(ValueType &&value);
77 template <
typename ValueType,
typename... Args>
78 static Object emplace(Args&&... args);
98 template <
typename ValueType,
typename = Pothos::Util::disable_if_same<Object, ValueType>>
99 explicit Object(ValueType &&value);
112 template <
typename ValueType,
typename... Args>
118 explicit Object(
const char *);
133 Object &operator=(
const Object &rhs);
141 Object &operator=(Object &&rhs);
147 explicit operator bool(
void)
const;
153 bool unique(
void)
const;
159 const std::type_info &type(
void)
const;
167 template <
typename ValueType>
168 const ValueType &extract(
void)
const;
185 template <
typename ValueType>
186 ValueType &ref(
void);
195 template <
typename ValueType>
196 ValueType convert(
void)
const;
202 template <
typename ValueType>
203 operator ValueType(
void)
const;
211 Object convert(
const std::type_info &type)
const;
218 bool canConvert(
const std::type_info &type)
const;
226 static bool canConvert(
const std::type_info &srcType,
const std::type_info &dstType);
234 std::ostream &
serialize(std::ostream &os)
const;
243 std::istream &deserialize(std::istream &is);
252 int compareTo(
const Object &other)
const;
258 size_t hashCode(
void)
const;
264 std::string toString(
void)
const;
269 std::string getTypeString(
void)
const;
276 bool equals(
const Object &obj)
const;
283 bool operator<(
const Object &obj)
const;
290 bool operator>(
const Object &obj)
const;
Emplace dummy type to pass type to Object emplacement constructor.
Definition: Object.hpp:102
#define POTHOS_API
Definition: Config.hpp:41
POTHOS_API bool operator==(const Callable &lhs, const Callable &rhs)
Definition: ArchiveEntry.hpp:20
Detail::ObjectContainer * _impl
Private implementation details.
Definition: Object.hpp:293
Definition: Object.hpp:47
void serialize(Archive &ar, std::complex< T > &t, const unsigned int ver)
Definition: Complex.hpp:37
int compareTo(const T0 &v0, const T1 &v1)
Definition: CompareTo.hpp:27
Definition: Object.hpp:29