31 #define GENERICVALUE_VISIBILITY 35 #define GENERICVALUE_VISIBILITY GTSAM_EXPORT 91 void print(
const std::string& str)
const override {
92 std::cout <<
"(" <<
demangle(
typeid(T).name()) <<
")\n";
114 std::shared_ptr<Value>
clone()
const override {
115 return std::allocate_shared<GenericValue>(Eigen::aligned_allocator<GenericValue>(), *
this);
126 return resultAsValue;
150 size_t dim()
const override {
176 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 178 friend class boost::serialization::access;
179 template<
class ARCHIVE>
180 void serialize(ARCHIVE & ar,
const unsigned int ) {
181 ar & boost::serialization::make_nvp(
"GenericValue",
182 boost::serialization::base_object<Value>(*
this));
183 ar & boost::serialization::make_nvp(
"value", value_);
189 enum { NeedsToAlign = (
sizeof(T) % 16) == 0 };
195 #define GTSAM_VALUE_EXPORT(Type) BOOST_CLASS_EXPORT(gtsam::GenericValue<Type>) 198 template <
typename ValueType>
200 :
public Testable<GenericValue<ValueType> > {};
203 template<
typename ValueType>
Vector localCoordinates(const GenericValue &value2) const
Non-virtual version of localCoordinates.
Definition: GenericValue.h:145
Typedefs for easier changing of types.
GenericValue retract(const Vector &delta) const
Non-virtual version of retract.
Definition: GenericValue.h:140
std::shared_ptr< Value > clone() const override
Definition: GenericValue.h:114
std::string serialize(const T &input)
serializes to a string
Definition: serialization.h:113
Definition: Testable.h:152
T value_
The wrapped value.
Definition: GenericValue.h:52
void print(const std::string &str) const override
Virtual print function, uses traits.
Definition: GenericValue.h:91
Definition: GenericValue.h:44
~GenericValue() override
Destructor.
Definition: GenericValue.h:74
Value * clone_() const override
Definition: GenericValue.h:99
GenericValue(const T &value)
Construct from value.
Definition: GenericValue.h:59
#define GTSAM_MAKE_ALIGNED_OPERATOR_NEW_IF(NeedsToAlign)
Definition: types.h:293
void deallocate_() const override
Definition: GenericValue.h:107
Value & operator=(const Value &rhs) override
Assignment operator.
Definition: GenericValue.h:155
Base class and basic functions for Manifold types.
std::string GTSAM_EXPORT demangle(const char *name)
Function to demangle type name of variable, e.g. demangle(typeid(x).name())
Value * retract_(const Vector &delta) const override
Generic Value interface version of retract.
Definition: GenericValue.h:119
virtual Value & operator=(const Value &)
Definition: Value.h:81
Definition: chartTesting.h:28
const ValueType & cast() const
Definition: GenericValue.h:204
GenericValue< T > genericValue(const T &v)
Definition: GenericValue.h:211
bool equals_(const Value &p, double tol=1e-9) const override
equals implementing generic Value interface
Definition: GenericValue.h:78
bool equals(const GenericValue &other, double tol=1e-9) const
non virtual equals function, uses traits
Definition: GenericValue.h:86
Vector localCoordinates_(const Value &value2) const override
Generic Value interface version of localCoordinates.
Definition: GenericValue.h:130
The base class for any variable that can be optimized or used in a factor.
T & value()
Return the value.
Definition: GenericValue.h:69
size_t dim() const override
Return run-time dimensionality.
Definition: GenericValue.h:150
const T & value() const
Return a constant value.
Definition: GenericValue.h:64
GenericValue< T > & operator=(const GenericValue< T > &rhs)
Definition: GenericValue.h:168