LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ast::AnyDecs< D > Class Template Reference

Abstract a "list of D-declarations" node. More...

#include <any-decs.hh>

Inheritance diagram for ast::AnyDecs< D >:
Collaboration diagram for ast::AnyDecs< D >:

Public Types

typedef std::list< D * > Ds
 Define shorthand type for list of D-declarations.

Public Member Functions

Ctor & dtor.
 AnyDecs (const Location &location, Ds *decs)
 Construct an AnyDecs node with a list of D-declarations.
 AnyDecs (const Location &location)
 ~AnyDecs ()
 Destroys an AnyDecs node.
Visitors entry point.
virtual void accept (Visitor &v) override
 Accept a const visitor v.
virtual void accept (ConstVisitor &v) const override
 Accept a non-const visitor v.
Accessors.
AnyDecs< D > & push_front (D &d)
 Push d in front.
AnyDecs< D > & push_back (D &d)
 Push d in back.
Dsdecs_get ()
 Access to list of D-declarations (read and write).
const Dsdecs_get () const
 Access to list of D-declarations (read only).
Accessors.
const Locationlocation_get () const
 Return scanner position information.
void location_set (const Location &)
 Set scanner position information.

Protected Attributes

Location location_
 Scanner position information.

Private Attributes

Dsdecs_ = new Ds()

Detailed Description

template<typename D>
class ast::AnyDecs< D >

Abstract a "list of D-declarations" node.

Member Typedef Documentation

template<typename D>
typedef std::list<D*> ast::AnyDecs< D >::Ds

Define shorthand type for list of D-declarations.

Constructor & Destructor Documentation

template<typename D >
ast::AnyDecs< D >::AnyDecs ( const Location location,
Ds decs 
)

Construct an AnyDecs node with a list of D-declarations.

Parameters
locationscanner position informations
decslist of D-declarations
template<typename D >
ast::AnyDecs< D >::AnyDecs ( const Location location)
template<typename D >
ast::AnyDecs< D >::~AnyDecs ( )

Destroys an AnyDecs node.

Free list and its content.

Member Function Documentation

template<typename D >
void ast::AnyDecs< D >::accept ( Visitor v)
inlineoverridevirtual

Accept a const visitor v.

Implements ast::Ast.

template<typename D >
void ast::AnyDecs< D >::accept ( ConstVisitor v) const
inlineoverridevirtual

Accept a non-const visitor v.

Implements ast::Ast.

template<typename D >
const AnyDecs< D >::Ds & ast::AnyDecs< D >::decs_get ( ) const
inline

Access to list of D-declarations (read only).

const Location & ast::Ast::location_get ( ) const
inlineinherited
void ast::Ast::location_set ( const Location location)
inlineinherited

Set scanner position information.

References ast::Ast::location_.

template<typename D >
AnyDecs< D > & ast::AnyDecs< D >::push_back ( D &  d)

Push d in back.

Parameters
ddeclaration to push
template<typename D >
AnyDecs< D > & ast::AnyDecs< D >::push_front ( D &  d)

Push d in front.

Parameters
ddeclaration to push

Member Data Documentation

template<typename D>
Ds* ast::AnyDecs< D >::decs_ = new Ds()
private
Location ast::Ast::location_
protectedinherited

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