1 /* $XConsortium: XcharMap.h /main/1 1996/07/29 17:08:09 cde-hp $ */
2 // Copyright (c) 1994 James Clark
3 // See the file COPYING for copying permission.
5 #ifndef XcharMap_INCLUDED
6 #define XcharMap_INCLUDED 1
14 namespace SP_NAMESPACE {
18 class SharedXcharMap : public Resource {
21 SharedXcharMap(T defaultValue);
22 T *ptr() { return v + 1; }
31 XcharMap(T defaultValue);
32 T operator[](Xchar c) const { return ptr_[c]; }
33 void setRange(Char min, Char max, T val);
34 void setChar(Char c, T val) { ptr_[c] = val; }
35 void setEe(T val) { ptr_[-1] = val; }
36 void clear() { ptr_ = 0; sharedMap_.clear(); }
39 Ptr<SharedXcharMap<T> > sharedMap_;
46 #endif /* not XcharMap_INCLUDED */
48 #ifdef SP_DEFINE_TEMPLATES