ESPHome  2024.4.1
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
esphome::script::ScriptExecuteAction< Script< As... >, Ts... > Class Template Reference

#include <script.h>

Inheritance diagram for esphome::script::ScriptExecuteAction< Script< As... >, Ts... >:
esphome::Action< Ts... >

Public Types

using Args = std::tuple< TemplatableValue< As, Ts... >... >
 

Public Member Functions

 ScriptExecuteAction (Script< As... > *script)
 
template<typename... F>
void set_args (F... x)
 
void play (Ts... x) override
 
- Public Member Functions inherited from esphome::Action< Ts... >
virtual void play_complex (Ts... x)
 
virtual void stop_complex ()
 
virtual bool is_running ()
 Check if this or any of the following actions are currently running. More...
 
int num_running_total ()
 The total number of actions that are currently running in this plus any of the following actions in the chain. More...
 

Protected Member Functions

template<std::size_t N>
void eval_args_impl_ (std::tuple< As... > &, std::integral_constant< std::size_t, N >, std::integral_constant< std::size_t, N >, Ts...)
 
template<std::size_t I, std::size_t N>
void eval_args_impl_ (std::tuple< As... > &evaled_args, std::integral_constant< std::size_t, I >, std::integral_constant< std::size_t, N > n, Ts... x)
 
std::tuple< As... > eval_args_ (Ts... x)
 
- Protected Member Functions inherited from esphome::Action< Ts... >
void play_next_ (Ts... x)
 
void play_next_tuple_ (const std::tuple< Ts... > &tuple, seq< S... >)
 
void play_next_tuple_ (const std::tuple< Ts... > &tuple)
 
virtual void stop ()
 
void stop_next_ ()
 
bool is_running_next_ ()
 

Protected Attributes

Script< As... > * script_
 
Args args_
 
- Protected Attributes inherited from esphome::Action< Ts... >
friend ActionList< Ts... >
 
Action< Ts... > * next_
 
int num_running_
 The number of instances of this sequence in the list of actions that is currently being executed. More...
 

Detailed Description

template<class... As, typename... Ts>
class esphome::script::ScriptExecuteAction< Script< As... >, Ts... >

Definition at line 159 of file script.h.

Member Typedef Documentation

◆ Args

template<class... As, typename... Ts>
using esphome::script::ScriptExecuteAction< Script< As... >, Ts... >::Args = std::tuple<TemplatableValue<As, Ts...>...>

Definition at line 163 of file script.h.

Constructor & Destructor Documentation

◆ ScriptExecuteAction()

template<class... As, typename... Ts>
esphome::script::ScriptExecuteAction< Script< As... >, Ts... >::ScriptExecuteAction ( Script< As... > *  script)
inline

Definition at line 161 of file script.h.

Member Function Documentation

◆ eval_args_()

template<class... As, typename... Ts>
std::tuple<As...> esphome::script::ScriptExecuteAction< Script< As... >, Ts... >::eval_args_ ( Ts...  x)
inlineprotected

Definition at line 187 of file script.h.

◆ eval_args_impl_() [1/2]

template<class... As, typename... Ts>
template<std::size_t N>
void esphome::script::ScriptExecuteAction< Script< As... >, Ts... >::eval_args_impl_ ( std::tuple< As... > &  ,
std::integral_constant< std::size_t, N >  ,
std::integral_constant< std::size_t, N >  ,
Ts...   
)
inlineprotected

Definition at line 176 of file script.h.

◆ eval_args_impl_() [2/2]

template<class... As, typename... Ts>
template<std::size_t I, std::size_t N>
void esphome::script::ScriptExecuteAction< Script< As... >, Ts... >::eval_args_impl_ ( std::tuple< As... > &  evaled_args,
std::integral_constant< std::size_t, I >  ,
std::integral_constant< std::size_t, N >  n,
Ts...  x 
)
inlineprotected

Definition at line 180 of file script.h.

◆ play()

template<class... As, typename... Ts>
void esphome::script::ScriptExecuteAction< Script< As... >, Ts... >::play ( Ts...  x)
inlineoverridevirtual

Implements esphome::Action< Ts... >.

Definition at line 167 of file script.h.

◆ set_args()

template<class... As, typename... Ts>
template<typename... F>
void esphome::script::ScriptExecuteAction< Script< As... >, Ts... >::set_args ( F...  x)
inline

Definition at line 165 of file script.h.

Field Documentation

◆ args_

template<class... As, typename... Ts>
Args esphome::script::ScriptExecuteAction< Script< As... >, Ts... >::args_
protected

Definition at line 194 of file script.h.

◆ script_

template<class... As, typename... Ts>
Script<As...>* esphome::script::ScriptExecuteAction< Script< As... >, Ts... >::script_
protected

Definition at line 193 of file script.h.


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