27#ifndef IDLFE_AST_VALUETYPE_H_ 
   28#define IDLFE_AST_VALUETYPE_H_ 
   91    template <
class T> 
friend class Ptr;
 
  100    const char* modifier_name () const noexcept;
 
  102    void set_truncatable ()
 
  104        assert (modifier_ == Modifier::NONE);
 
  108    void add_base (
const ValueType& vt)
 
  110        bases_.push_back (&vt);
 
  113    void add_supports (
const Interface& itf)
 
  115        supports_.push_back (&itf);
 
  118    void get_all_interfaces (IV_Bases& all) 
const;
 
 
  141    template <
class T> 
friend class Ptr;
 
 
The common base for Interface and ValueType.
 
@ VALUE_TYPE
class ValueType
 
@ VALUE_TYPE_DECL
class ValueTypeDecl
 
Items which have repository identifiers derive from this class.
 
const Identifier & name() const noexcept
 
The IDL simple declarator.
 
Value type forward declaration.
 
bool is_abstract() const noexcept
 
const ValueTypes & bases() const noexcept
 
Modifier modifier() const noexcept
 
Modifier
Value type modifier.
 
const Interfaces & supports() const noexcept
 
Abstract Syntax Tree namespace.
 
std::vector< const Interface * > Interfaces
The sequence of interfaces.
 
std::vector< const ValueType * > ValueTypes
The sequence of value types.