CharMap.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
// Copyright (c) 1997 James Clark
// See the file COPYING for copying permission.
#pragma ident "%Z%%M% %I% %E% SMI"
#ifndef CharMap_INCLUDED
#define CharMap_INCLUDED 1
#include "types.h"
#include "Resource.h"
#ifdef SP_NAMESPACE
#endif
#ifdef SP_MULTI_BYTE
enum { level3bits = 4 };
CharMapColumn(const CharMapColumn<T> &);
void operator=(const CharMapColumn<T> &);
~CharMapColumn();
T *values;
T value;
};
enum { level2bits = 4 };
CharMapPage();
CharMapPage(const CharMapPage<T> &);
void operator=(const CharMapPage<T> &);
~CharMapPage();
void swap(CharMapPage<T> &);
CharMapColumn<T> *values;
T value;
};
#endif /* SP_MULTI_BYTE */
CharMap();
CharMap(T);
void setAll(T);
#ifdef SP_MULTI_BYTE
#else
T values_[256];
#endif
};
CharMapResource() { }
CharMapResource(T t) : CharMap<T>(t) { }
};
#ifdef SP_MULTI_BYTE
inline
{
else
}
else
}
inline
{
max = c;
}
else {
}
}
else {
}
}
#else
inline
{
return values_[c];
}
inline
{
max = c;
return values_[c];
}
inline
{
}
#endif
#ifdef SP_NAMESPACE
}
#endif
#endif /* not CharMap_INCLUDED */
#ifdef SP_DEFINE_TEMPLATES
#include "CharMap.cxx"
#endif