LLVM 23.0.0git
llvm::cas::NodeSchema Class Referenceabstract

A base class for schemas built on top of CAS nodes. More...

#include "llvm/CAS/CASNodeSchema.h"

Inheritance diagram for llvm::cas::NodeSchema:
[legend]

Public Member Functions

virtual bool isRootNode (const cas::ObjectProxy &Node) const =0
 Check if Node is a root (entry node) for the schema.
virtual bool isNode (const cas::ObjectProxy &Node) const =0
 Check if Node is a node for the schema.
virtual ~NodeSchema ()=default
Public Member Functions inherited from llvm::RTTIExtends< NodeSchema, RTTIRoot >
const void * dynamicClassID () const override
bool isA () const
 Check whether this instance is a subclass of QueryT.
Public Member Functions inherited from llvm::RTTIRoot
virtual ~RTTIRoot ()=default
virtual bool isA (const void *const ClassID) const
 Returns true if this class's ID matches the given class ID.

Public Attributes

cas::ObjectStoreCAS

Static Public Attributes

static char ID = 0

Protected Member Functions

 NodeSchema (cas::ObjectStore &CAS)

Additional Inherited Members

Static Public Member Functions inherited from llvm::RTTIExtends< NodeSchema, RTTIRoot >
static const void * classID ()
static bool classof (const T *R)
Static Public Member Functions inherited from llvm::RTTIRoot
static const void * classID ()
 Returns the class ID for this type.

Detailed Description

A base class for schemas built on top of CAS nodes.

Definition at line 21 of file CASNodeSchema.h.

Constructor & Destructor Documentation

◆ NodeSchema()

llvm::cas::NodeSchema::NodeSchema ( cas::ObjectStore & CAS)
inlineprotected

Definition at line 39 of file CASNodeSchema.h.

References CAS.

◆ ~NodeSchema()

virtual llvm::cas::NodeSchema::~NodeSchema ( )
virtualdefault

Member Function Documentation

◆ isNode()

virtual bool llvm::cas::NodeSchema::isNode ( const cas::ObjectProxy & Node) const
pure virtual

Check if Node is a node for the schema.

This can be any node that belongs to the schema.

◆ isRootNode()

virtual bool llvm::cas::NodeSchema::isRootNode ( const cas::ObjectProxy & Node) const
pure virtual

Check if Node is a root (entry node) for the schema.

This is a strong check, since it requires that the first reference matches a complete type-id DAG.

Member Data Documentation

◆ CAS

cas::ObjectStore& llvm::cas::NodeSchema::CAS

Definition at line 36 of file CASNodeSchema.h.

Referenced by NodeSchema().

◆ ID

char NodeSchema::ID = 0
static

Definition at line 25 of file CASNodeSchema.h.


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