visitor.h File Reference
#include <symengine/polys/uintpoly_flint.h>
#include <symengine/polys/uintpoly_piranha.h>
#include <symengine/polys/uexprpoly.h>
#include <symengine/polys/msymenginepoly.h>
#include <symengine/polys/uratpoly.h>
#include <symengine/complex_mpc.h>
#include <symengine/series_generic.h>
#include <symengine/series_piranha.h>
#include <symengine/series_flint.h>
#include <symengine/sets.h>
#include <symengine/fields.h>
#include <symengine/logic.h>
#include <symengine/infinity.h>
#include <symengine/nan.h>
#include <symengine/matrix.h>
#include <symengine/ntheory_funcs.h>
#include <symengine/symengine_casts.h>
#include "symengine/type_codes.inc"
+ Include dependency graph for visitor.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  SymEngine::Visitor
 
class  SymEngine::BaseVisitor< Derived, Base >
 
class  SymEngine::StopVisitor
 
class  SymEngine::LocalStopVisitor
 
class  SymEngine::HasSymbolVisitor
 
class  SymEngine::CoeffVisitor
 
class  SymEngine::TransformVisitor
 
struct  SymEngine::is_base_of_multiple< Derived, First, Rest >
 
struct  SymEngine::is_base_of_multiple< Derived, First >
 
class  SymEngine::AtomsVisitor< Args >
 
class  SymEngine::CountOpsVisitor
 

Namespaces

 SymEngine
 Main namespace for SymEngine package.
 

Macros

#define SYMENGINE_ENUM(TypeID, Class)   virtual void visit(const Class &) = 0;
 
#define SYMENGINE_ENUM(TypeID, Class)
 

Functions

void SymEngine::preorder_traversal (const Basic &b, Visitor &v)
 
void SymEngine::postorder_traversal (const Basic &b, Visitor &v)
 
void SymEngine::preorder_traversal_stop (const Basic &b, StopVisitor &v)
 
void SymEngine::postorder_traversal_stop (const Basic &b, StopVisitor &v)
 
void SymEngine::preorder_traversal_local_stop (const Basic &b, LocalStopVisitor &v)
 
bool SymEngine::has_symbol (const Basic &b, const Basic &x)
 
RCP< const Basic > SymEngine::coeff (const Basic &b, const Basic &x, const Basic &n)
 
set_basic SymEngine::free_symbols (const Basic &b)
 
set_basic SymEngine::free_symbols (const MatrixBase &m)
 
set_basic SymEngine::function_symbols (const Basic &b)
 
template<typename... Args>
set_basic SymEngine::atoms (const Basic &b)
 
unsigned SymEngine::count_ops (const vec_basic &a)
 

Detailed Description

Class Visitor

Definition in file visitor.h.

Macro Definition Documentation

◆ SYMENGINE_ENUM

#define SYMENGINE_ENUM (   TypeID,
  Class 
)
Value:
virtual void visit(const Class &x) \
{ \
down_cast<Derived *>(this)->bvisit(x); \
};

Definition at line 66 of file visitor.h.