Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
SymbolTable Class Reference

#include "lib/symbol-table.hpp"

Description

Table for automatically interned strings.

This table is used to back the lib::Symbol token type, which is implemented by a pointer into this registration table for each new distinct "symbol string" created.

Warning
grows eternally, never shrinks

Definition at line 64 of file symbol-table.hpp.

Public Member Functions

Literal internedString (string &&symbolString)
 

Private Attributes

std::unordered_set< string > table_
 

Additional Inherited Members

- Static Public Member Functions inherited from Sync< CONF >
static MonitorgetMonitor (Sync const *forThis)
 
- Private Member Functions inherited from NonCopyable
 ~NonCopyable ()=default
 
 NonCopyable ()=default
 
 NonCopyable (NonCopyable const &)=delete
 
NonCopyableoperator= (NonCopyable const &)=delete
 

Member Function Documentation

◆ internedString()

Literal internedString ( string &&  symbolString)
inline

Definition at line 72 of file symbol-table.hpp.

References SymbolTable::table_.

Member Data Documentation

◆ table_

std::unordered_set<string> table_
private

Definition at line 68 of file symbol-table.hpp.

Referenced by SymbolTable::internedString().

+ Inheritance diagram for SymbolTable:
+ Collaboration diagram for SymbolTable:

The documentation for this class was generated from the following file: