Taskolib  1.3.3
Classes | Namespaces | Typedefs
Context.h File Reference

Detailed Description

Declaration of the Context and VariableValue types.

Author
Lars Fröhlich
Date
Created on December 20, 2021

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 2.1 of the license, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see https://www.gnu.org/licenses/.

#include <functional>
#include <string>
#include <unordered_map>
#include <variant>
#include "sol/sol.hpp"
#include "taskolib/CommChannel.h"
#include "taskolib/default_message_callback.h"
#include "taskolib/Message.h"
#include "taskolib/StepIndex.h"
#include "taskolib/VariableName.h"
Include dependency graph for Context.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  task::Context
 A context stores information that influences the execution of steps and sequences, namely: More...
 

Namespaces

 task
 Namespace task contains all Taskolib functions and classes.
 

Typedefs

using task::LuaInteger = LUA_INTEGER
 The integer type used by the Lua interpreter. More...
 
using task::LuaFloat = LUA_NUMBER
 The floating point type used by the Lua interpreter. More...
 
using task::LuaString = std::string
 The string type used by the Lua interpreter. More...
 
using task::LuaBool = bool
 The boolean type used by the Lua interpreter. More...
 
using task::VarInteger = long long
 Storage type for integral numbers. More...
 
using task::VarFloat = double
 Storage type for floatingpoint number. More...
 
using task::VarString = std::string
 Storage type for strings. More...
 
using task::VarBool = bool
 Storage type for booleans. More...
 
using task::VariableValue = std::variant< VarInteger, VarFloat, VarString, VarBool >
 A VariableValue is a variant over all Variable types. More...
 
using task::VariableTable = std::unordered_map< VariableName, VariableValue >
 Associative table that holds Lua variable names and their value. More...
 
using task::MessageCallback = std::function< void(const Message &)>
 A message callback function receives a Message object as a parameter. More...