| souffle
    2.0.2-371-g6315b36
    | 
 
 
 
Go to the documentation of this file.
   42 class BranchDeclaration : 
public Node {
 
   60     void print(std::ostream& os)
 const override {
 
  
Wrapper for the single branch declaration (product type) inside ADT declaration.
void print(std::ostream &os) const override
Output to a given output stream.
auto clone(const std::vector< A * > &xs)
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...
BranchDeclaration(std::string constructor, VecOwn< Attribute > fields, SrcLocation loc={})
BranchDeclaration * clone() const override
Create a clone (i.e.
VecOwn< Attribute > fields
std::vector< Attribute * > getFields()
const SrcLocation & getSrcLoc() const
Return source location of the Node.
const std::string & getConstructor() const
std::vector< T * > toPtrVector(const std::vector< std::unique_ptr< T >> &v)
A utility function enabling the creation of a vector of pointers.
std::vector< Own< A > > VecOwn