Sha256: 1f88c845363e6229d1b2979fa75966c293963a41372b6806f0af5a5a0eae933e

Contents?: true

Size: 1.22 KB

Versions: 5

Compression:

Stored size: 1.22 KB

Contents

//
//  refract/RenderJSONVisitor.h
//  librefract
//
//  Created by Pavan Kumar Sunkara on 17/06/15.
//  Copyright (c) 2015 Apiary Inc. All rights reserved.
//

#ifndef REFRACT_RENDERJSONVISITOR_H
#define REFRACT_RENDERJSONVISITOR_H

#include "sos.h"
#include <string>

#include "ElementFwd.h"

namespace refract
{

    class RenderJSONVisitor
    {
        IElement* result;
        IElement* enumValue;
    public:

        RenderJSONVisitor();
        virtual ~RenderJSONVisitor();

        void operator()(const IElement& e);
        void operator()(const MemberElement& e);
        void operator()(const ObjectElement& e);
        void operator()(const ArrayElement& e);
        void operator()(const EnumElement& e);

        void operator()(const NullElement& e);
        void operator()(const StringElement& e);
        void operator()(const NumberElement& e);
        void operator()(const BooleanElement& e);
        void operator()(const ExtendElement& e);

        // FIXME: throwning - not implemented 
        // need to resolve in ApplyVisitor
        //void operator()(const OptionElement& e);
        //void operator()(const SelectElement& e);

        std::string getString() const;
        IElement* getOwnership(); 
    };
}

#endif

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
lounge_lizard-0.1.4 ext/drafter/src/refract/RenderJSONVisitor.h
lounge_lizard-0.1.3 ext/drafter/src/refract/RenderJSONVisitor.h
lounge_lizard-0.1.2 ext/drafter/src/refract/RenderJSONVisitor.h
lounge_lizard-0.1.1 ext/drafter/src/refract/RenderJSONVisitor.h
lounge_lizard-0.1.0 ext/drafter/src/refract/RenderJSONVisitor.h