26#include <gtsam/dllexport.h>
38GTSAM_EXPORT std::string _defaultKeyFormatter(
Key key);
43static const KeyFormatter DefaultKeyFormatter = &_defaultKeyFormatter;
46GTSAM_EXPORT std::string _multirobotKeyFormatter(
gtsam::Key key);
55 &_multirobotKeyFormatter;
61 GTSAM_EXPORT
friend std::ostream &operator<<(std::ostream &,
const StreamedKey &);
75 GTSAM_EXPORT
friend std::ostream &operator<<(std::ostream &,
const key_formatter &);
76 GTSAM_EXPORT
friend std::ostream &operator<<(std::ostream &,
const StreamedKey &);
80 static void *&property(std::ios_base &s);
81 static void set_property(std::ios_base &s,
const KeyFormatter &f);
95 Key key,
const std::string &s =
"",
100 const KeyList &keys,
const std::string &s =
"",
101 const KeyFormatter &keyFormatter = DefaultKeyFormatter);
105 const KeyVector &keys,
const std::string &s =
"",
106 const KeyFormatter &keyFormatter = DefaultKeyFormatter);
110 const KeySet &keys,
const std::string &s =
"",
111 const KeyFormatter &keyFormatter = DefaultKeyFormatter);
114template<
typename T>
struct traits;
118 static void Print(
const Key& val,
const std::string& str =
"") {
121 static bool Equals(
const Key& val1,
const Key& val2,
double tol = 1e-8) {
A thin wrapper around std::vector that uses a custom allocator.
Typedefs for easier changing of types.
A thin wrapper around std::list that uses boost's fast_pool_allocator.
A thin wrapper around std::map that uses boost's fast_pool_allocator.
A thin wrapper around std::set that uses boost's fast_pool_allocator.
Concept check for values that can be used in unit tests.
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.
Definition: Key.h:86
void PrintKeyVector(const KeyVector &keys, const string &s, const KeyFormatter &keyFormatter)
Utility function to print sets of keys with optional prefix.
Definition: Key.cpp:77
void PrintKey(Key key, const string &s, const KeyFormatter &keyFormatter)
Utility function to print one key with optional prefix.
Definition: Key.cpp:40
void PrintKeyList(const KeyList &keys, const string &s, const KeyFormatter &keyFormatter)
Utility function to print sets of keys with optional prefix.
Definition: Key.cpp:72
void PrintKeySet(const KeySet &keys, const string &s, const KeyFormatter &keyFormatter)
Utility function to print sets of keys with optional prefix.
Definition: Key.cpp:82
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:69
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition: Key.h:35
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition: concepts.h:30
Definition: FastList.h:40
To use the key_formatter on Keys, they must be wrapped in a StreamedKey.
Definition: Key.h:58
Output stream manipulator that will format gtsam::Keys according to the given KeyFormatter,...
Definition: Key.h:72