1#ifndef Rosebud_BoostSerializer_H
2#define Rosebud_BoostSerializer_H
3#include <Rosebud/Serializer.h>
12 using Ptr = std::shared_ptr<BoostSerializer>;
18 static Ptr instance();
19 virtual std::string
name()
const override;
20 virtual std::string
purpose()
const override;
Class serializer using Boost Serialization.
virtual std::string purpose() const override
Single-line description for the serializer.
virtual bool isSerializable(const Ast::ClassPtr &) const override
Determines if a class should be serialized.
virtual void genBody(std::ostream &header, std::ostream &impl, const Ast::ClassPtr &, const Hierarchy &, const Generator &) const override
Generate main serialization code for the specified class.
virtual void genPrologue(std::ostream &header, std::ostream &impl, const Ast::ClassPtr &, const Hierarchy &, const Generator &) const override
Generate prologue code.
virtual void genEpilogue(std::ostream &header, std::ostream &impl, const Ast::ClassPtr &, const Hierarchy &, const Generator &) const override
Generate epilogue code.
virtual std::string name() const override
Every serializer has a unique name.
Base class for backend code generators.
Base class for serialization generators.
Graph containing user-defined vertices and edges.
std::shared_ptr< Class > ClassPtr
Shared-ownership pointer to a Class.
Rosebud is a tool to generate abstract syntax trees.