retdec
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
retdec::demangler::borland::RReferenceTypeNode Class Reference

Representation of R-value references. More...

#include <rreference_type.h>

Inheritance diagram for retdec::demangler::borland::RReferenceTypeNode:
Inheritance graph
[legend]
Collaboration diagram for retdec::demangler::borland::RReferenceTypeNode:
Collaboration graph
[legend]

Public Member Functions

std::shared_ptr< Nodepointee ()
 
void printLeft (std::ostream &s) const override
 Prints left side of reference type or whole, depending on pointee. Right side printing is used for arrays and references to function types. More...
 
void printRight (std::ostream &s) const override
 Prints right side of reference type. Used for array and funtion types. More...
 
- Public Member Functions inherited from retdec::demangler::borland::TypeNode
Qualifiers quals ()
 
- Public Member Functions inherited from retdec::demangler::borland::Node
 Node (Kind kind, bool has_right_side=false)
 Abstract constructor for base node. More...
 
virtual ~Node ()=default
 
void print (std::ostream &s) const
 Prints left side of node. More...
 
std::string str () const
 
Kind kind () const
 
bool hasRight ()
 

Static Public Member Functions

static std::shared_ptr< RReferenceTypeNodecreate (Context &context, std::shared_ptr< Node > pointee)
 Function for creating r-value references. If type the same type was already created, then that instance is returned. More...
 

Private Member Functions

 RReferenceTypeNode (std::shared_ptr< Node > pointee)
 

Private Attributes

std::shared_ptr< Node_pointee
 

Additional Inherited Members

- Public Types inherited from retdec::demangler::borland::Node
enum class  Kind {
  KFunction , KFunctionType , KName , KNestedName ,
  KNodeArray , KNodeString , KTypeNode , KBuiltInType ,
  KPointerType , KIntegralType , KCharType , KFloatType ,
  KParentheses , KReferenceType , KRReferenceType , KNamedType ,
  KTemplateNode , KArrayNode , KConversionOperator
}
 
- Protected Member Functions inherited from retdec::demangler::borland::TypeNode
 TypeNode (const Qualifiers &quals)
 
- Protected Attributes inherited from retdec::demangler::borland::TypeNode
Qualifiers _quals
 
- Protected Attributes inherited from retdec::demangler::borland::Node
Kind _kind
 
bool _has_right
 

Detailed Description

Representation of R-value references.

Constructor & Destructor Documentation

◆ RReferenceTypeNode()

retdec::demangler::borland::RReferenceTypeNode::RReferenceTypeNode ( std::shared_ptr< Node pointee)
explicitprivate

Private constructor for r-value references. Use create(). Reference can't be const or volatile.

Member Function Documentation

◆ create()

std::shared_ptr< RReferenceTypeNode > retdec::demangler::borland::RReferenceTypeNode::create ( Context context,
std::shared_ptr< Node pointee 
)
static

Function for creating r-value references. If type the same type was already created, then that instance is returned.

Parameters
contextStorage for types.
pointeeReferenced type.
Returns
Node representing r-value reference type.

◆ pointee()

std::shared_ptr< Node > retdec::demangler::borland::RReferenceTypeNode::pointee ( )
Returns
Referenced type.

◆ printLeft()

void retdec::demangler::borland::RReferenceTypeNode::printLeft ( std::ostream &  s) const
overridevirtual

Prints left side of reference type or whole, depending on pointee. Right side printing is used for arrays and references to function types.

Implements retdec::demangler::borland::Node.

◆ printRight()

void retdec::demangler::borland::RReferenceTypeNode::printRight ( std::ostream &  s) const
overridevirtual

Prints right side of reference type. Used for array and funtion types.

Reimplemented from retdec::demangler::borland::Node.

Member Data Documentation

◆ _pointee

std::shared_ptr<Node> retdec::demangler::borland::RReferenceTypeNode::_pointee
private

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