1 // Copyright (c) 1994 James Clark
2 // See the file COPYING for copying permission.
3 #pragma ident "%Z%%M% %I% %E% SMI"
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
49 #include "XcharMap.cxx"