OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
function.hpp
Go to the documentation of this file.
1//
2// Namespace function
3//
4// Copyright (c) 2026, Paul Scherrer Institute, Villigen PSI, Switzerland
5// All rights reserved
6//
7// This file is part of OPAL.
8//
9// OPAL is free software: you can redistribute it and/or modify
10// it under the terms of the GNU General Public License as published by
11// the Free Software Foundation, either version 3 of the License, or
12// (at your option) any later version.
13//
14// You should have received a copy of the GNU General Public License
15// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
16//
17#ifndef FUNCTION_HPP
18#define FUNCTION_HPP
19
20#include <functional>
21#include <string>
22#include <tuple>
23#include <variant>
24#include <vector>
25
26namespace client {
27 namespace function {
28 typedef std::variant<double, bool, std::string> argument_t;
29
30 typedef std::vector<argument_t> arguments_t;
31
32 typedef std::function<std::tuple<double, bool> (arguments_t)> type;
33
34 typedef std::pair<std::string, type> named_t;
35 }
36}
37
38#endif
std::pair< std::string, type > named_t
Definition function.hpp:34
std::function< std::tuple< double, bool >(arguments_t)> type
Definition function.hpp:32
std::vector< argument_t > arguments_t
Definition function.hpp:30
std::variant< double, bool, std::string > argument_t
Definition function.hpp:28