Cerata
A library to generate structural hardware designs
cerata::Field Class Reference

A Record field. More...

#include <type.h>

+ Inheritance diagram for cerata::Field:
+ Collaboration diagram for cerata::Field:

Public Member Functions

 Field (std::string name, std::shared_ptr< Type > type, bool reverse=false, bool sep=true)
 RecordField constructor.
 
FieldSetType (std::shared_ptr< Type > type)
 Change the type of this field.
 
std::shared_ptr< Typetype () const
 Return the type of the RecordField.
 
bool reversed () const
 Return if this individual field should be reversed w.r.t. parent Record type itself on graph edges.
 
std::shared_ptr< FieldReverse ()
 Reverse the direction of this field and return itself.
 
bool sep () const
 Return true if in name generation of this field name for flattened types a separator should be placed.
 
void NoSep ()
 Disable the separator in name generation of this field.
 
void UseSep ()
 Enable the separator in name generation of this field.
 
std::shared_ptr< FieldCopy (const NodeMap &rebinding) const
 Create a copy of the field.
 
- Public Member Functions inherited from cerata::Named
 Named (std::string name)
 Named constructor.
 
std::string name () const
 Return the name of the object.
 
void SetName (std::string name)
 Change the name of the object.
 
virtual ~Named ()=default
 Destructor.
 

Public Attributes

std::unordered_map< std::string, std::string > meta
 Metadata for back-end implementations.
 

Detailed Description

A Record field.

Definition at line 256 of file type.h.


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