Empirical
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
emp::ActionSize< ARG_COUNT > Class Template Referenceabstract

#include <Action.h>

Inheritance diagram for emp::ActionSize< ARG_COUNT >:
emp::ActionBase

Public Member Functions

size_t GetArgCount () const
 Get number of arguments this action takes. More...
 
const std::string & GetName () const
 Get the name of this action. More...
 
virtual ActionBaseClone () const =0
 Clone() will produce a pointer to a full copy of an Action, going through derived version. More...
 

Protected Member Functions

 ActionSize (const std::string &in_name)
 

Protected Attributes

std::string name
 A unique name for this action so it can be called at runtime. More...
 

Detailed Description

template<size_t ARG_COUNT>
class emp::ActionSize< ARG_COUNT >

ActionSize is a second layer of abstract actions that know the number of arguments used at compile time to facilitate easy type-checking.

Constructor & Destructor Documentation

template<size_t ARG_COUNT>
emp::ActionSize< ARG_COUNT >::ActionSize ( const std::string &  in_name)
inlineprotected

Member Function Documentation

virtual ActionBase* emp::ActionBase::Clone ( ) const
pure virtualinherited

Clone() will produce a pointer to a full copy of an Action, going through derived version.

Implemented in emp::Action< RETURN(ARGS...)>, and emp::Action< void(ARGS...)>.

template<size_t ARG_COUNT>
size_t emp::ActionSize< ARG_COUNT >::GetArgCount ( ) const
inlinevirtual

Get number of arguments this action takes.

Implements emp::ActionBase.

const std::string& emp::ActionBase::GetName ( ) const
inlineinherited

Get the name of this action.

Member Data Documentation

std::string emp::ActionBase::name
protectedinherited

A unique name for this action so it can be called at runtime.


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