#ifndef INTERP_LIST_HH
#define INTERP_LIST_HH
#include <stdint.h>
#define MAX_NML_COMMAND_SIZE 1000
struct NML_INTERP_LIST_NODE {
int line_number; union _dummy_union {
int32_t i;
int32_t l;
double d;
float f;
int64_t ll;
long double ld;
} dummy;
union _command_union {
char commandbuf[MAX_NML_COMMAND_SIZE]; int32_t i;
int32_t l;
double d;
float f;
int64_t ll;
long double ld;
} command;
};
class NML_INTERP_LIST {
public:
NML_INTERP_LIST();
~NML_INTERP_LIST();
int set_line_number(int line);
int get_line_number();
int append(NMLmsg &);
int append(NMLmsg *);
NMLmsg *get();
void clear();
void print();
int len();
private:
class LinkedList * linked_list_ptr;
NML_INTERP_LIST_NODE temp_node; int next_line_number; int line_number; };
extern NML_INTERP_LIST interp_list;
#endif