Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Rose::AST::Defects::defect_t< Kind::any > Struct Template Referenceabstract


struct Rose::AST::Defects::defect_t< Kind::any >

Defect descriptor specialization for the default kind "any".

All other defect descriptors must inherit from this descritor. It provides a static method record which should always be used to create a defect descriptor. This method collects all descriptors and return const references. Hence, all defect descriptors can be deleted by a call to clear.

Definition at line 40 of file Defect.h.

#include <Rose/AST/Defect.h>

Inheritance diagram for Rose::AST::Defects::defect_t< Kind::any >:
Inheritance graph
Collaboration diagram for Rose::AST::Defects::defect_t< Kind::any >:
Collaboration graph

Public Types

using self_t = defect_t< Kind::any >

Public Member Functions

 defect_t (Kind kind_)
virtual void print (std::ostream &out) const =0

Static Public Member Functions

template<Kind k, typename... Args>
static defect_t< k > const & record (Args...args)
 Call new for the specific kind of defect, forwards all argument to the constructor. Add pointer to all.
template<typename DefectT , typename... Args>
static DefectT const & record (Args...args)
 Call new for the specific defect type, forwards all argument to the constructor (requires the specialization to declare __kind)
static void clear ()
 Delete all stored defect and clear the container.
static void display (std::ostream &out)

Public Attributes

Kind kind

Static Public Attributes

static std::set< self_t * > all
 Set of all defects.

The documentation for this struct was generated from the following file: