profile.h
Go to the documentation of this file.
1 
26 #ifndef TESSERACT_COMMON_PROFILE_H
27 #define TESSERACT_COMMON_PROFILE_H
28 
29 #include <memory>
30 #include <boost/serialization/access.hpp>
31 #include <boost/serialization/export.hpp>
32 
33 namespace tesseract_common
34 {
35 struct Serialization;
39 class Profile
40 {
41 public:
42  using Ptr = std::shared_ptr<Profile>;
43  using ConstPtr = std::shared_ptr<const Profile>;
44 
45  Profile() = default;
46  Profile(std::size_t key);
47  virtual ~Profile() = default;
48 
53  std::size_t getKey() const;
54 
55 protected:
56  Profile(const Profile&) = default;
57  Profile& operator=(const Profile&) = default;
58  Profile(Profile&&) = default;
59  Profile& operator=(Profile&&) = default;
60 
61  std::size_t key_{ 0 };
62 
63 private:
66  template <class Archive>
67  void serialize(Archive&, const unsigned int); // NOLINT
68 };
69 } // namespace tesseract_common
70 
71 BOOST_CLASS_EXPORT_KEY(tesseract_common::Profile)
72 
73 #endif // TESSERACT_COMMON_PROFILE_H
tesseract_common::Profile::access
friend class boost::serialization::access
Definition: profile.h:64
tesseract_common
Definition: allowed_collision_matrix.h:19
tesseract_common::Profile::key_
std::size_t key_
Definition: profile.h:61
tesseract_common::Serialization
Definition: serialization.h:97
tesseract_common::Profile::Profile
Profile()=default
tesseract_common::Profile::~Profile
virtual ~Profile()=default
tesseract_common::Profile::ConstPtr
std::shared_ptr< const Profile > ConstPtr
Definition: profile.h:43
tesseract_common::Profile
The Profile class.
Definition: profile.h:39
tesseract_common::Profile::getKey
std::size_t getKey() const
Get the hash code associated with the profile.
Definition: profile.cpp:36
tesseract_common::Profile::Ptr
std::shared_ptr< Profile > Ptr
Definition: profile.h:42
tesseract_common::Profile::operator=
Profile & operator=(const Profile &)=default
tesseract_common::Profile::serialize
void serialize(Archive &, const unsigned int)
Definition: profile.cpp:39


tesseract_common
Author(s): Levi Armstrong
autogenerated on Sun May 18 2025 03:01:40