Public Member Functions | List of all members
CompositeProperty Class Referencefinal

Composite name-value property node. More...

#include <PropertyAst.hpp>

Inheritance diagram for CompositeProperty:
[legend]
Collaboration diagram for CompositeProperty:
[legend]

Public Member Functions

 CompositeProperty (const CodeSpan &codeSpan_, std::string_view name_, std::vector< std::unique_ptr< PropertyNode >> &&nodes_)
 Create a composite property node with the supplied data. More...
 
 CompositeProperty (CompositeProperty &&rhs) noexcept
 Construct a composite property node by moving the contents of the supplied node. More...
 
std::string_view getName () const
 Get the string view pointing to the name of the composite property. More...
 
const std::vector< std::unique_ptr< PropertyNode > > & getNodes () const
 Get the string view pointing to the value of the composite property. More...
 
bool operator== (const PropertyNode &rhs) const override
 Returns true if the current node is equal to the supplied node. More...
 
void visit (Payload &payload, PropertyVisitor &visitor) const override
 Visit the node. More...
 
- Public Member Functions inherited from PropertyNode
virtual ~PropertyNode ()=default
 Destroy a Property AST node. More...
 
const CodeSpangetCodeSpan () const
 Get the code span of the node. More...
 
bool operator!= (const PropertyNode &rhs) const
 Returns true if the current node is not equal to the supplied node. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from PropertyNode
static std::string normalise (std::string_view input)
 Removing escaping, line continuation, and leading blanks. More...
 

Detailed Description

Composite name-value property node.

Constructor & Destructor Documentation

◆ CompositeProperty() [1/2]

CompositeProperty ( const CodeSpan codeSpan_,
std::string_view  name_,
std::vector< std::unique_ptr< PropertyNode >> &&  nodes_ 
)
inline

Create a composite property node with the supplied data.

◆ CompositeProperty() [2/2]

CompositeProperty ( CompositeProperty &&  rhs)
inlinenoexcept

Construct a composite property node by moving the contents of the supplied node.

Member Function Documentation

◆ getName()

std::string_view getName ( ) const
inline

Get the string view pointing to the name of the composite property.

Returns
the string view pointing to the name of the composite property

◆ getNodes()

const std::vector<std::unique_ptr<PropertyNode> >& getNodes ( ) const
inline

Get the string view pointing to the value of the composite property.

Returns
the string view pointing to the value of the composite property

◆ operator==()

bool operator== ( const PropertyNode rhs) const
inlineoverridevirtual

Returns true if the current node is equal to the supplied node.

Overridden in concrete classes.

Returns
true if the current node is equal to the supplied node.

Reimplemented from PropertyNode.

◆ visit()

void visit ( Payload payload,
PropertyVisitor visitor 
) const
inlineoverridevirtual

Visit the node.

the visitor specific payload (cast in the concrete visitor class)

Parameters
visitorthe visitor

Implements PropertyNode.


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