tree-gen
C++ code generator for tree structures
Public Attributes | List of all members
tree_gen::Field Struct Reference

Represents a field. More...

Public Attributes

EdgeType type
 The edge type for the field. More...
 
std::shared_ptr< Nodenode_type
 The field type, if any (depends on type). More...
 
std::string prim_type
 The primitive type name, if any (depends on type). More...
 
std::string py_prim_type
 The primitive type name, if any (depends on type). More...
 
std::string py_multi_type
 The primitive Multi* type name in the Python world, if any (depends on type and ext_type). More...
 
std::string name
 Class member name. More...
 
std::string doc
 Class member documentation. More...
 
EdgeType ext_type
 External node type. More...
 

Detailed Description

Represents a field.

Definition at line 679 of file tree-gen.hpp.

#include <tree-gen.hpp>

Collaboration diagram for tree_gen::Field:
Collaboration graph
[legend]

Member Data Documentation

◆ type

EdgeType tree_gen::Field::type

The edge type for the field.

Definition at line 684 of file tree-gen.hpp.

◆ node_type

std::shared_ptr<Node> tree_gen::Field::node_type

The field type, if any (depends on type).

Definition at line 689 of file tree-gen.hpp.

◆ prim_type

std::string tree_gen::Field::prim_type

The primitive type name, if any (depends on type).

This includes the edge template instantiation for external nodes. If type is not Prim, this is used for storing the node name before name resolution.

Definition at line 696 of file tree-gen.hpp.

◆ py_prim_type

std::string tree_gen::Field::py_prim_type

The primitive type name, if any (depends on type).

This is intended for Python, and thus does not have the edge template instantiation (because Python doesn't have templates, and the edges are implicit rather than explicit classes) and uses . for namespace separation rather than ::.

Definition at line 704 of file tree-gen.hpp.

◆ py_multi_type

std::string tree_gen::Field::py_multi_type

The primitive Multi* type name in the Python world, if any (depends on type and ext_type).

Definition at line 710 of file tree-gen.hpp.

◆ name

std::string tree_gen::Field::name

Class member name.

Definition at line 715 of file tree-gen.hpp.

◆ doc

std::string tree_gen::Field::doc

Class member documentation.

Definition at line 720 of file tree-gen.hpp.

◆ ext_type

EdgeType tree_gen::Field::ext_type

External node type.

This is valid when type is Prim. If this is Prim as well, then it's actually a primitive, otherwise it's a node from another tree.

Definition at line 727 of file tree-gen.hpp.


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