| 
    creativity
    v1.3.0
    
   Agent-based model of creativity and piracy 
   | 
 
Base class for composite variables with two Variable components. More...
#include <creativity/data/Variable.hpp>
Public Member Functions | |
| virtual unsigned int | size () const override | 
| Returns the size of the binary expression, if either left or right variables have a size.  More... | |
  Public Member Functions inherited from creativity::data::Variable | |
| virtual | ~Variable ()=default | 
| Virtual destructor.  | |
| virtual std::string | name () const =0 | 
| Returns a name for this variable.  | |
| virtual std::string | nameBracketed (const std::string &bracketL="(", const std::string &bracketR=")") const | 
| Returns a name for this variable, but with surrounding brackets if this variable needs it–for example, for a multiplication of two variables.  More... | |
| virtual void | populate (Eigen::Ref< Eigen::VectorXd > column, unsigned int offset=0, unsigned int trim=0) const =0 | 
| Populates the given column reference with this variable's values.  More... | |
| Eigen::VectorXd | values (unsigned int rows=0, unsigned int offset=0, unsigned int trim=0) const | 
| Shortcut wrapper around populate that creates a new column of the given size, calls populate() with it, then returns it.  More... | |
Protected Member Functions | |
| BinaryExpr ()=delete | |
| Not default-constructible.  | |
| BinaryExpr (const std::shared_ptr< const Variable > &left, const std::shared_ptr< const Variable > &right) | |
| Constructs a binary variable with the left and right variables.  | |
Protected Attributes | |
| std::shared_ptr< const Variable > | left_ | 
| The left-hand Variable.  | |
| std::shared_ptr< const Variable > | right_ | 
| The right-hand Variable.  | |
Base class for composite variables with two Variable components.
      
  | 
  overridevirtual | 
Returns the size of the binary expression, if either left or right variables have a size.
If neither do, throws a SizeError exception.
Implements creativity::data::Variable.
 1.8.12