1#ifndef Rosebud_CerealSerializer_H 
    2#define Rosebud_CerealSerializer_H 
    3#include <Rosebud/Serializer.h> 
   10    using Ptr = std::shared_ptr<CerealSerializer>;
 
   16    static Ptr instance();
 
   17    virtual std::string 
name() 
const override;
 
   18    virtual std::string 
purpose() 
const override;
 
 
Class serializer producing JSON.
 
virtual void genEpilogue(std::ostream &header, std::ostream &impl, const Ast::ClassPtr &, const Hierarchy &, const Generator &) const override
Generate epilogue code.
 
virtual std::string purpose() const override
Single-line description for the serializer.
 
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 bool isSerializable(const Ast::ClassPtr &) const override
Determines if a class should be serialized.
 
virtual std::string name() const override
Every serializer has a unique name.
 
virtual void genPrologue(std::ostream &header, std::ostream &impl, const Ast::ClassPtr &, const Hierarchy &, const Generator &) const override
Generate prologue code.
 
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.