node_negate Class Reference

#include <node_impl.hpp>

Inheritance diagram for node_negate:

node_unary node_impl

List of all members.

Public Member Functions

 node_negate (node operand)
 node_negate (std::istream &stream)

Private Member Functions

virtual void print_node (std::ostream &stream, int indent) const
virtual number evaluate_node () const
virtual void save_node (std::ostream &stream) const


Detailed Description

Unary negation.

Definition at line 170 of file node_impl.hpp.


Constructor & Destructor Documentation

node_negate::node_negate ( node  operand  ) 

Definition at line 412 of file node_impl.cpp.

00413 : node_unary(operand)
00414 {}

node_negate::node_negate ( std::istream &  stream  ) 

Definition at line 416 of file node_impl.cpp.

00417 : node_unary(stream)
00418 {}


Member Function Documentation

void node_negate::print_node ( std::ostream &  stream,
int  indent 
) const [private, virtual]

Implements node_unary.

Definition at line 420 of file node_impl.cpp.

References node_unary::operand(), and node::print().

00422 {
00423   stream << std::setw(indent) << "" << "-\n";
00424   operand().print(stream, indent + 2);
00425 }

number node_negate::evaluate_node (  )  const [private, virtual]

Implements node_unary.

Definition at line 427 of file node_impl.cpp.

References node_unary::evaluate_operand().

00429 {
00430   return -evaluate_operand();
00431 }

void node_negate::save_node ( std::ostream &  stream  )  const [private, virtual]

Implements node_unary.

Definition at line 433 of file node_impl.cpp.

References node_unary::operand(), and node::save().

00435 {
00436   stream << "negate ";
00437   operand().save(stream);
00438 }


The documentation for this class was generated from the following files:
Generated on Sun Nov 30 10:06:53 2008 for Calculator by  doxygen 1.5.3