souffle  2.0.2-371-g6315b36
Public Member Functions | Data Fields
souffle::ast::analysis::AlgebraicDataType::Branch Struct Reference

#include <TypeSystem.h>

Collaboration diagram for souffle::ast::analysis::AlgebraicDataType::Branch:
Collaboration graph

Public Member Functions

void print (std::ostream &out) const
 

Data Fields

std::string name
 
std::vector< const Type * > types
 

Detailed Description

Definition at line 201 of file TypeSystem.h.

Member Function Documentation

◆ print()

void souffle::ast::analysis::AlgebraicDataType::Branch::print ( std::ostream &  out) const
inline

Definition at line 205 of file TypeSystem.h.

205  {
206  out << tfm::format("%s = %s", name,
207  join(branches, " | ", [](std::ostream& out, const Branch& branch) { branch.print(out); }));
208  }

References souffle::ast::analysis::AlgebraicDataType::branches, tinyformat::format(), souffle::join(), and souffle::ast::analysis::Type::name.

Here is the call graph for this function:

Field Documentation

◆ name

std::string souffle::ast::analysis::AlgebraicDataType::Branch::name

Definition at line 202 of file TypeSystem.h.

Referenced by souffle::ast::analysis::RecordType::RecordType().

◆ types

std::vector<const Type*> souffle::ast::analysis::AlgebraicDataType::Branch::types

Definition at line 203 of file TypeSystem.h.

Referenced by souffle::ast::analysis::RecordType::RecordType().


The documentation for this struct was generated from the following file:
souffle::ast::analysis::AlgebraicDataType::Branch::name
std::string name
Definition: TypeSystem.h:202
tinyformat::format
void format(std::ostream &out, const char *fmt)
Definition: tinyformat.h:1089
souffle::join
detail::joined_sequence< Iter, Printer > join(const Iter &a, const Iter &b, const std::string &sep, const Printer &p)
Creates an object to be forwarded to some output stream for printing sequences of elements interspers...
Definition: StreamUtil.h:175
souffle::ast::analysis::AlgebraicDataType::branches
std::vector< Branch > branches
Definition: TypeSystem.h:240