jtlc/nodes/Node.h
josh 19dd46d14d created nodes subdir and moved Node.{h,cc} there
git-svn-id: svn://anubis/jtlc/trunk@11 f5bc74b8-7b62-4e90-9214-7121d538519f
2010-01-13 19:38:31 +00:00

44 lines
975 B
C++

#ifndef NODES_H
#define NODES_H NODES_H
#include "util/refptr.h"
#include <vector>
#include <string>
class Node
{
public:
virtual ~Node();
void addChild(refptr<Node> child) { m_children.push_back(child); }
void addChildren(refptr<Node> other);
std::vector< refptr<Node> > & getChildren() { return m_children; }
virtual unsigned long getInteger() { return 0ul; }
virtual std::string getString() { return ""; }
protected:
std::vector< refptr<Node> > m_children;
};
class IntegerNode : public Node
{
public:
IntegerNode(unsigned long integer) { m_integer = integer; }
unsigned long getInteger() { return m_integer; }
protected:
unsigned long m_integer;
};
class StringNode : public Node
{
public:
StringNode(const std::string & str) { m_string = str; }
std::string getString() { return m_string; }
protected:
std::string m_string;
};
#endif