class Rouge::Lexers::Cpp

def self.keywords

def self.keywords
  @keywords ||= super + Set.new(%w(
    asm auto catch const_cast delete dynamic_cast explicit export
    friend mutable namespace new operator private protected public
    reinterpret_cast restrict size_of static_cast template this throw
    throws typeid typename using virtual final override
    alignas alignof constexpr decltype noexcept static_assert
    thread_local try
  ))
end

def self.keywords_type

def self.keywords_type
  @keywords_type ||= super + Set.new(%w(
    bool
  ))
end

def self.reserved

def self.reserved
  @reserved ||= super + Set.new(%w(
    __virtual_inheritance __uuidof __super __single_inheritance
    __multiple_inheritance __interface __event
  ))
end