Markup.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
// Copyright (c) 1995 James Clark
// See the file COPYING for copying permission.
#pragma ident "%Z%%M% %I% %E% SMI"
#ifndef Markup_INCLUDED
#define Markup_INCLUDED 1
#ifdef __GNUG__
#pragma interface
#endif
#include "StringC.h"
#include "Syntax.h"
#include "Sd.h"
#include "Vector.h"
#include "Text.h"
#include "SdText.h"
#ifdef SP_NAMESPACE
#endif
struct SP_API MarkupItem {
MarkupItem();
MarkupItem(const MarkupItem &);
~MarkupItem();
void operator=(const MarkupItem &);
unsigned char type;
unsigned char index;
union {
};
};
enum Type {
name,
s,
};
Markup();
void clear();
void addS(const InputSource *);
void addRefEndRe();
void addShortref(const InputSource *);
void addCommentStart();
void addCommentChar(Char);
void addName(const InputSource *);
void addNameToken(const InputSource *);
void addNumber(const InputSource *);
void addAttributeValue(const InputSource *);
void addEntityEnd();
void addLiteral(const Text &);
void addSdLiteral(const SdText &);
};
MarkupIter(const Markup &);
void advance();
// This updates a Location.
const Char *charsPointer() const;
size_t charsLength() const;
};
inline
{
}
inline
{
}
inline
{
}
inline
{
return index_;
}
inline
{
}
inline
{
}
inline
{
return chars_ + charIndex_;
}
inline
{
}
inline
{
}
inline
{
}
inline
{
}
inline
{
}
inline
{
}
#ifdef SP_NAMESPACE
}
#endif
#endif /* not Markup_INCLUDED */