8 #ifndef IMPEXAMPLE_EXAMPLE_OBJECT_H
9 #define IMPEXAMPLE_EXAMPLE_OBJECT_H
11 #include <IMP/example/example_config.h>
18 #include <cereal/access.hpp>
19 #include <cereal/types/vector.hpp>
21 IMPEXAMPLE_BEGIN_NAMESPACE
40 double get_data(
unsigned int i)
const {
54 friend class cereal::access;
55 template<
class Archive>
void serialize(Archive &ar) {
58 ar(cereal::base_class<Object>(
this), data_);
65 IMPEXAMPLE_END_NAMESPACE
Helper macros for implementing IMP Objects.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
An example simple object which is reference counted.
Common base class for heavy weight IMP objects.
A nullptr-initialized pointer to an IMP Object.
A shared base class to help in debugging and things.
Object(std::string name)
Construct an object with the given name.
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.