// SPDX-License-Identifier: MIT
#pragma once
#include <memory>
#include "Value.hh"
namespace fedem
{
namespace fson
{
// ─────────────────────────────────────────────────────────────────────
// Null — the FSON literal "null"
// ─────────────────────────────────────────────────────────────────────
class Null final : public Value
{
public:
Null( ) = default;
Type getType( ) const noexcept override;
std::unique_ptr< Value > clone( ) const override;
Null* asNull( ) noexcept override;
Null const* asNull( ) const noexcept override;
};
inline Value::Type Null::getType( ) const noexcept
{
return Type::Null;
}
inline std::unique_ptr< Value > Null::clone( ) const
{
return std::make_unique< Null >( );
}
inline Null* Null::asNull( ) noexcept
{
return this;
}
inline Null const* Null::asNull( ) const noexcept
{
return this;
}
} // end namespace fson
} // end namespace fedem