27#ifndef IDLFE_AST_INTERFACE_H_ 
   28#define IDLFE_AST_INTERFACE_H_ 
   32#include <unordered_set> 
   66    const char* interface_kind_name () const noexcept;
 
 
  109    template <
class T> 
friend class Ptr;
 
  113    void get_all_interfaces (IV_Bases& all) 
const;
 
  122        bases_.push_back (&base);
 
  125    void get_all_bases (std::unordered_set <const Interface*>& bset, 
Interfaces& bvec) 
const;
 
 
  140    template <
class T> 
friend class Ptr;
 
  143        ItemWithId (Item::Kind::INTERFACE_DECL, builder, name),
 
 
The common base for Interface and ValueType.
 
Interface forward declaration.
 
const Interfaces & bases() const noexcept
 
Interfaces get_all_bases() const
 
Kind
The kind of interface.
 
@ PSEUDO
pseudo interface is Nirvana IDL extension
 
@ ABSTRACT
abstract interface
 
Kind interface_kind() const noexcept
 
Items which have repository identifiers derive from this class.
 
The IDL simple declarator.
 
Abstract Syntax Tree namespace.
 
std::vector< const Interface * > Interfaces
The sequence of interfaces.