souffle  2.0.2-371-g6315b36
Public Member Functions | Private Attributes
souffle::ast::detail::LambdaNodeMapper< Lambda > Class Template Reference

A special NodeMapper wrapping a lambda conducting node transformations. More...

#include <LambdaNodeMapper.h>

Inheritance diagram for souffle::ast::detail::LambdaNodeMapper< Lambda >:
Inheritance graph
Collaboration diagram for souffle::ast::detail::LambdaNodeMapper< Lambda >:
Collaboration graph

Public Member Functions

 LambdaNodeMapper (const Lambda &lambda)
 
Own< Nodeoperator() (Own< Node > node) const override
 Abstract replacement method for a node. More...
 
- Public Member Functions inherited from souffle::ast::NodeMapper
template<typename T >
Own< T > operator() (Own< T > node) const
 Wrapper for any subclass of the AST node hierarchy performing type casts. More...
 
virtual ~NodeMapper ()=default
 

Private Attributes

const Lambda & lambda
 

Detailed Description

template<typename Lambda>
class souffle::ast::detail::LambdaNodeMapper< Lambda >

A special NodeMapper wrapping a lambda conducting node transformations.

Definition at line 43 of file LambdaNodeMapper.h.

Constructor & Destructor Documentation

◆ LambdaNodeMapper()

template<typename Lambda >
souffle::ast::detail::LambdaNodeMapper< Lambda >::LambdaNodeMapper ( const Lambda &  lambda)
inline

Definition at line 53 of file LambdaNodeMapper.h.

Member Function Documentation

◆ operator()()

template<typename Lambda >
Own<Node> souffle::ast::detail::LambdaNodeMapper< Lambda >::operator() ( Own< Node node) const
inlineoverridevirtual

Abstract replacement method for a node.

If the given nodes is to be replaced, the handed in node will be destroyed by the mapper and the returned node will become owned by the caller.

Implements souffle::ast::NodeMapper.

Definition at line 55 of file LambdaNodeMapper.h.

Field Documentation

◆ lambda

template<typename Lambda >
const Lambda& souffle::ast::detail::LambdaNodeMapper< Lambda >::lambda
private

Definition at line 50 of file LambdaNodeMapper.h.


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