LSST Applications g0afe43252f+b86e4b8053,g0e535e6de9+ad13c1b82d,g11f7dcd041+017865fdd3,g1ce3e0751c+f991eae79d,g25e82e299b+da9c58a417,g28da252d5a+9a4345bd89,g2bbee38e9b+b6588ad223,g2bc492864f+b6588ad223,g2cdde0e794+8523d0dbb4,g347aa1857d+b6588ad223,g35bb328faa+b86e4b8053,g3a166c0a6a+b6588ad223,g461a3dce89+b86e4b8053,g52b1c1532d+b86e4b8053,g7d11c3e888+3343bff751,g80478fca09+f22f659b46,g8543c18506+fadcf71ecf,g858d7b2824+c704b22fcc,g8cd86fa7b1+497903d09f,g965a9036f2+c704b22fcc,g979bb04a14+43c1c4070b,g9ddcbc5298+f24b38b85a,gae0086650b+b86e4b8053,gb781091699+0f9934ae6f,gbb886bcc26+486567bf06,gc28159a63d+b6588ad223,gc30aee3386+a2f0f6cab9,gc9f6898e11+66e322ebb3,gcaf7e4fdec+c704b22fcc,gcd45df26be+c704b22fcc,gcdd4ae20e8+02080e1d2d,gcf0d15dbbd+02080e1d2d,gdaeeff99f8+006e14e809,gdbce86181e+42405ade82,ge3d4d395c2+224150c836,ge79ae78c31+b6588ad223,gf048a9a2f4+69e41b07e6,gf0baf85859+b4cca3d10f,w.2024.30
LSST Data Management Base Package
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Functions
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 }