view interps/rail/src/NilVar.h @ 12500:e48c08805365 draft default tip

<b_jonas> ` learn \'The password of the month is Cthulhuquagdonic Mothraquagdonic Narwhalicorn.\' # https://logs.esolangs.org/libera-esolangs/2024-04.html#lKE Infinite craft
author HackEso <hackeso@esolangs.org>
date Wed, 01 May 2024 06:39:10 +0000
parents 859f9b4339e6
children
line wrap: on
line source

// NilVar.h

#ifndef NIL_VAR_H_RAIL_1
#define NIL_VAR_H_RAIL_1

#include "Var.h"

class NilVar : public Var
{
public:
  NilVar() {}
  virtual ~NilVar() {}

  virtual StringVar * getString(void)
  {
    return NULL;
  }

  virtual ListVar * getList(void)
  {
    return NULL;
  }

  virtual NilVar * getNil(void)
  {
    return this;
  }

  virtual Closure * getClosure(void)
  {
    return NULL;
  }

  virtual std::string toString(void) const
  {
    return "<NIL>";
  }
private:
  NilVar(NilVar const &) {}
  NilVar & operator=(NilVar const &) { return *this; }
};

#endif