8 #ifndef __MEOWPP_UTILITY_OPERATION_H__
9 #define __MEOWPP_UTILITY_OPERATION_H__
11 #include "../debug/assert.h"
35 Operation(
int arg_inputs_size,
int arg_outputs_size) :
36 inputs_size_(arg_inputs_size), outputs_size_(arg_outputs_size) {}
72 #ifdef MEOWPP_UTILITY_OPERATION_TESTING
73 friend class OperationTest;
74 #endif // MEOWPP_UTILITY_OPERATION_TESTING
80 #endif // __MEOWPP_UTILITY_OPERATION_H__
A pointer points to the template Type.
Operation(int arg_inputs_size, int arg_outputs_size)
A protected constructor to prevent developers create an instance of Operation directly.
virtual ~Operation()
Virtual destructor.
Base class for operations.
Contains a base class for most of all the classes in meowpp.
Contains a base class for a state (in meowpp, most of all the return value of a function (or to say...
virtual State Operate(Pointer< Object const > const *inputs_ptr, Pointer< Object > const *outputs_ptr) const =0
Pure virtual method for running the operation.
Contains a pointer class which has a counter-mechanism to prevent memory leak.
The base class for state.
int inputs_size() const
Gets the number of inputs for the operation.
int outputs_size() const
Gets the number of outputs for the operation.