blob: 15f975936b606321e49719b2f76e33b627277978 [file] [log] [blame]
// Copyright (c) 2005 Carl Barron. Distributed under the Boost
// Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#ifndef SIMPLE_XML_TAG_H
#define SIMPLE_XML_TAG_H
#include <boost/variant.hpp>
#include <list>
#include <map>
#include <string>
struct tag
{
std::string id;
std::map<std::string,std::string> attributes;
typedef boost::variant<
std::string,
boost::recursive_wrapper<tag>
>
variant_type;
std::list<variant_type> children;
};
struct walk_data
{
typedef void result_type;
void operator () (const std::string &x);
void operator () (const tag &t);
};
#endif