LSST Applications g00274db5b6+edbf708997,g00d0e8bbd7+edbf708997,g199a45376c+5137f08352,g1fd858c14a+1d4b6db739,g262e1987ae+f4d9505c4f,g29ae962dfc+7156fb1a53,g2cef7863aa+73c82f25e4,g35bb328faa+edbf708997,g3e17d7035e+5b3adc59f5,g3fd5ace14f+852fa6fbcb,g47891489e3+6dc8069a4c,g53246c7159+edbf708997,g64539dfbff+9f17e571f4,g67b6fd64d1+6dc8069a4c,g74acd417e5+ae494d68d9,g786e29fd12+af89c03590,g7ae74a0b1c+a25e60b391,g7aefaa3e3d+536efcc10a,g7cc15d900a+d121454f8d,g87389fa792+a4172ec7da,g89139ef638+6dc8069a4c,g8d7436a09f+28c28d8d6d,g8ea07a8fe4+db21c37724,g92c671f44c+9f17e571f4,g98df359435+b2e6376b13,g99af87f6a8+b0f4ad7b8d,gac66b60396+966efe6077,gb88ae4c679+7dec8f19df,gbaa8f7a6c5+38b34f4976,gbf99507273+edbf708997,gc24b5d6ed1+9f17e571f4,gca7fc764a6+6dc8069a4c,gcc769fe2a4+97d0256649,gd7ef33dd92+6dc8069a4c,gdab6d2f7ff+ae494d68d9,gdbb4c4dda9+9f17e571f4,ge410e46f29+6dc8069a4c,geaed405ab2+e194be0d2b,w.2025.47
LSST Data Management Base Package
Loading...
Searching...
No Matches
Persistable.h File Reference

Interface for Persistable base class. More...

#include <memory>
#include <typeinfo>
#include "lsst/base.h"

Go to the source code of this file.

Classes

class  lsst::daf::base::Persistable
 Base class for all persistable classes. More...
 

Namespaces

namespace  lsst
 
namespace  lsst::daf
 
namespace  lsst::daf::base
 
namespace  lsst::daf::persistence
 
namespace  boost
 
namespace  boost::serialization
 

Macros

#define LSST_PERSIST_FORMATTER(formatter...)
 Macro used to connect the persistable class with the Formatter and boost::serialization.
 

Functions

template<class Form, class Archive>
void lsst::daf::persistence::delegateSerialize (Archive &ar, unsigned int const version, lsst::daf::base::Persistable *persistable)
 

Detailed Description

Interface for Persistable base class.

Author
Kian-Tat Lim (ktl@s.nosp@m.lac..nosp@m.stanf.nosp@m.ord..nosp@m.edu)
Version
$Revision$
Date
$Date$

Definition in file Persistable.h.

Macro Definition Documentation

◆ LSST_PERSIST_FORMATTER

#define LSST_PERSIST_FORMATTER ( formatter...)
Value:
friend class boost::serialization::access; \
friend class formatter; \
template <class Archive> \
void serialize(Archive& ar, unsigned int const version) { \
lsst::daf::persistence::delegateSerialize<formatter, Archive>(ar, version, this); \
}

Macro used to connect the persistable class with the Formatter and boost::serialization.

Provides friend access to boost::serialization and the Formatter subclass. Also provides a template serialization function (inline, so templates can be expanded by g++ in the "Borland" style).

Parameters
formatterName of formatter class with template parameters, if any.

Definition at line 99 of file Persistable.h.

99#define LSST_PERSIST_FORMATTER(formatter...) \
100 friend class boost::serialization::access; \
101 friend class formatter; \
102 template <class Archive> \
103 void serialize(Archive& ar, unsigned int const version) { \
104 lsst::daf::persistence::delegateSerialize<formatter, Archive>(ar, version, this); \
105 }