1 #if !defined(H_LISPSYMBOL)
8 class LispSymbol
: public LispObj
10 typedef LispSymbol
& LispSymbolPtr
;
11 typedef LispSymbol
& LispSymbolRef
;
17 std::ostringstream value_stream
;
18 value_stream
.setf( ios::hex
, ios::basefield
);
19 value_stream
.width( 8 );
20 value_stream
.fill( '0' );
21 value_stream
<< "Sym#" << ios::hex() << this << " " << car_
<< " " cdr_
;
22 name_
= value_stream
.str();
25 LispSymbol(LispStringValue
& name
) : name_(name
)
30 LispSymbol(LispStringValue
& name
, LispObj
& obj
)
35 LispSymbol(LispSymbol
& other
)
40 plist_
= other
->plist_
;
45 LispSymbol
& operator=(LispSymbol
& other
)
50 plist_
= other
->plist_
;
66 LispSymbolRef
operator=(LispObjRef
& val
)
71 operator LispStringVal()
76 void getObjectType(LispObj::eLispObjectType
& kind
)
78 kind
= LispObj::eSymbolObj
;
82 LispStringValue name_
;
84 static LispFixnumValue symbol_count
;