// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "../Global.h"
#include "Tag.hpp"

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class DoubleTag : public Tag {

#define AFTER_EXTRA
    // Add Member There
    double val;

public:
    LIAPI double& value();
    LIAPI DoubleTag& operator=(double val);
    LIAPI static std::unique_ptr<DoubleTag> create(double val = 0.0);
    LIAPI bool set(double val);
    LIAPI double get();
    LIAPI operator double() const;

#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_DOUBLETAG
public:
    class DoubleTag& operator=(class DoubleTag const &) = delete;
    DoubleTag(class DoubleTag const &) = delete;
    DoubleTag() = delete;
#endif

public:
    /*0*/ virtual ~DoubleTag();
    /*2*/ virtual void write(class IDataOutput &) const;
    /*3*/ virtual void load(class IDataInput &);
    /*4*/ virtual std::string toString() const;
    /*5*/ virtual enum Tag::Type getId() const;
    /*6*/ virtual bool equals(class Tag const &) const;
    /*9*/ virtual std::unique_ptr<class Tag> copy() const;
    /*10*/ virtual unsigned __int64 hash() const;
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_DOUBLETAG
#endif

};