Allow assigning nil to any pointer
This commit is contained in:
@ -12,27 +12,6 @@ namespace elna
|
||||
{
|
||||
namespace boot
|
||||
{
|
||||
/**
|
||||
* Generic language entity information.
|
||||
*/
|
||||
template<typename T>
|
||||
class info
|
||||
{
|
||||
public:
|
||||
T payload;
|
||||
|
||||
info(T payload)
|
||||
: payload(payload)
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
std::shared_ptr<info<T>> make_info(T payload)
|
||||
{
|
||||
return std::make_shared<info<T>>(info(payload));
|
||||
}
|
||||
|
||||
/**
|
||||
* Symbol table.
|
||||
*/
|
||||
@ -40,7 +19,7 @@ namespace boot
|
||||
class symbol_table
|
||||
{
|
||||
public:
|
||||
using symbol_ptr = std::shared_ptr<info<T>>;
|
||||
using symbol_ptr = T;
|
||||
using iterator = typename std::unordered_map<std::string, symbol_ptr>::iterator;
|
||||
using const_iterator = typename std::unordered_map<std::string, symbol_ptr>::const_iterator;
|
||||
|
||||
|
Reference in New Issue
Block a user