PandA-2024.02
Public Member Functions | Data Fields
xml_ite_block_t Class Reference

If/Then/Else block, evaluated at compile-time. More...

#include <xml_script_command.hpp>

Inheritance diagram for xml_ite_block_t:
Inheritance graph
[legend]
Collaboration diagram for xml_ite_block_t:
Collaboration graph
[legend]

Public Member Functions

 xml_ite_block_t (const std::string *_condition)
 
 xml_ite_block_t (const xml_element *element)
 
std::string get_xml_name () const override
 Gets the XML element name of this node type. More...
 
xml_nodeRef create_xml_node () const override
 Creates an XML node for polixml data structures. More...
 
 ~xml_ite_block_t () override
 
void clean () override
 Cleans object attributes. More...
 
bool checkCondition (const DesignParametersRef &dp) const override
 If the node has a compile-time condition, this method evaluates it. More...
 
- Public Member Functions inherited from xml_script_node_t
 xml_script_node_t (xml_script_node_enum_t _type)
 
virtual ~xml_script_node_t ()
 

Data Fields

std::string condition
 
std::vector< xml_script_node_tRefthenNodes
 
std::vector< xml_script_node_tRefelseNodes
 
- Data Fields inherited from xml_script_node_t
xml_script_node_enum_t nodeType
 

Additional Inherited Members

- Static Public Member Functions inherited from xml_script_node_t
static xml_script_node_enum_t find_type (const xml_element *element)
 Finds the type of an XML element. More...
 
static xml_script_node_tcreate (const xml_element *element)
 Creates a script node by parsing the XML element. More...
 
static bool evaluate_condition (const std::string *condition)
 Evaluates a string condition. More...
 
static bool evaluate_condition (const std::string *condition, const DesignParametersRef &dp)
 Evaluates a string condition. More...
 

Detailed Description

If/Then/Else block, evaluated at compile-time.

Definition at line 281 of file xml_script_command.hpp.

Constructor & Destructor Documentation

◆ xml_ite_block_t() [1/2]

xml_ite_block_t::xml_ite_block_t ( const std::string *  _condition)
explicit

Definition at line 749 of file xml_script_command.cpp.

References elseNodes, and thenNodes.

◆ xml_ite_block_t() [2/2]

xml_ite_block_t::xml_ite_block_t ( const xml_element element)
explicit

Definition at line 756 of file xml_script_command.cpp.

References xml_script_node_t::create(), el, elseNodes, xml_child::get_children(), xml_node::get_name(), thenNodes, and THROW_ERROR.

Here is the call graph for this function:

◆ ~xml_ite_block_t()

xml_ite_block_t::~xml_ite_block_t ( )
override

Definition at line 818 of file xml_script_command.cpp.

References clean().

Here is the call graph for this function:

Member Function Documentation

◆ checkCondition()

bool xml_ite_block_t::checkCondition ( const DesignParametersRef dp) const
overridevirtual

If the node has a compile-time condition, this method evaluates it.

Parameters
dpDesign parameters, used to check conditions at compile time.
Returns
The condition evaluation if any, otherwise is true by default.

Reimplemented from xml_script_node_t.

Definition at line 851 of file xml_script_command.cpp.

References condition, and xml_script_node_t::evaluate_condition().

Here is the call graph for this function:

◆ clean()

void xml_ite_block_t::clean ( )
overridevirtual

Cleans object attributes.

Implements xml_script_node_t.

Definition at line 823 of file xml_script_command.cpp.

References elseNodes, and thenNodes.

Referenced by ~xml_ite_block_t().

Here is the caller graph for this function:

◆ create_xml_node()

xml_nodeRef xml_ite_block_t::create_xml_node ( ) const
overridevirtual

Creates an XML node for polixml data structures.

Implements xml_script_node_t.

Definition at line 834 of file xml_script_command.cpp.

References xml_child::add_child_element(), condition, elseNodes, get_xml_name(), and thenNodes.

Here is the call graph for this function:

◆ get_xml_name()

std::string xml_ite_block_t::get_xml_name ( ) const
overridevirtual

Gets the XML element name of this node type.

Implements xml_script_node_t.

Definition at line 829 of file xml_script_command.cpp.

References TAG_ITE_BLOCK.

Referenced by create_xml_node().

Here is the caller graph for this function:

Field Documentation

◆ condition

std::string xml_ite_block_t::condition

◆ elseNodes

std::vector<xml_script_node_tRef> xml_ite_block_t::elseNodes

◆ thenNodes

std::vector<xml_script_node_tRef> xml_ite_block_t::thenNodes

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

Generated on Mon Feb 12 2024 13:04:11 for PandA-2024.02 by doxygen 1.8.13