Calculator Step 6

- Main Page
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Private Member Functions | List of all members
node_multiply Class Reference

`#include <node_impl.hpp>`

Inheritance diagram for node_multiply:

## Public Member Functions
| node_multiply (node left, node right)
| node_multiply (std::istream &stream)
Public Member Functions inherited from node_binary
| node_binary (node left, node right)
node | left () const
node | right () const
Public Member Functions inherited from node_impl
| node_impl ()
virtual | ~node_impl ()
| node_impl (node_impl &&)=default
node_impl & | operator= (node_impl &&)=default
void | print (std::ostream &stream, int indent) const
number | evaluate () const
std::string | to_string () const
identifier_list const & | get_parameters () const
void | save (std::ostream &stream) const

## Private Member Functions
virtual void | print_node (std::ostream &stream, int indent) const override
virtual number | evaluate_node () const override
virtual void | save_node (std::ostream &stream) const override

## Additional Inherited Members
Static Public Member Functions inherited from node_impl
static std::shared_ptr< node_impl > | read_node (std::istream &stream)
Protected Member Functions inherited from node_binary
| node_binary (std::istream &stream)
number | evaluate_left () const
number | evaluate_right () const

## Detailed Description

Multiplication.

Definition at line 202 of file node_impl.hpp.

## Constructor & Destructor Documentation

node_multiply::node_multiply | ( | node | left,
|  | node | right
| ) |  |

Definition at line 496 of file node_impl.cpp.

References node_binary::left().

497 : node_binary{left, right}
498 {}
node_binary
Definition: node_impl.hpp:150
node_binary::left
node left() const
Definition: node_impl.cpp:379

node_multiply::node_multiply | ( | std::istream & | stream | ) |

Definition at line 500 of file node_impl.cpp.

501 : node_binary{stream}
502 {}
node_binary
Definition: node_impl.hpp:150

## Member Function Documentation

number node_multiply::evaluate_node | ( |  | ) | const
| override private virtual

Implements node_binary.

Definition at line 512 of file node_impl.cpp.

References node_binary::evaluate_left(), and node_binary::evaluate_right().

514 {
515 return evaluate_left() * evaluate_right();
516 }
node_binary::evaluate_right
number evaluate_right() const
Definition: node_impl.cpp:397
node_binary::evaluate_left
number evaluate_left() const
Definition: node_impl.cpp:391

void node_multiply::print_node | ( | std::ostream & | stream,
|  | int | indent
| ) |  | const
| override private virtual

Implements node_binary.

Definition at line 504 of file node_impl.cpp.

References node_binary::left(), node::print(), and node_binary::right().

506 {
507 stream << std::setw(indent) << "" << "*\n";
508 left().print(stream, indent + 2);
509 right().print(stream, indent + 2);
510 }
node_binary::right
node right() const
Definition: node_impl.cpp:385
node::print
void print(std::ostream &stream, int indent=0) const
Definition: node.cpp:67
node_binary::left
node left() const
Definition: node_impl.cpp:379

void node_multiply::save_node | ( | std::ostream & | stream | ) | const
| override private virtual

Implements node_binary.

Definition at line 518 of file node_impl.cpp.

References node_binary::left(), node_binary::right(), and node::save().

520 {
521 stream << "multiply ";
522 left().save(stream);
523 right().save(stream);
524 }
node_binary::right
node right() const
Definition: node_impl.cpp:385
node::save
void save(std::ostream &stream) const
Definition: node.cpp:91
node_binary::left
node left() const
Definition: node_impl.cpp:379

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

- node_impl.hpp
- node_impl.cpp