PDI 1.13.0

the PDI data interface

pdi_fwd.h
1/*******************************************************************************
2 * Copyright (C) 2015-2025 Commissariat a l'energie atomique et aux energies alternatives (CEA)
3 * Copyright (C) 2021 Institute of Bioorganic Chemistry Polish Academy of Science (PSNC)
4 * Copyright (C) 2026 Julien Bigot <julien@julien-bigot.fr>
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * * Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * * Neither the name of CEA nor the names of its contributors may be used to
15 * endorse or promote products derived from this software without specific
16 * prior written permission.
17 *
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 * THE SOFTWARE.
25 ******************************************************************************/
26
30
31#ifndef PDI_PDI_FWD_H_
32#define PDI_PDI_FWD_H_
33
34#include <cstdint>
35#include <memory>
36
37#include <pdi.h>
38
39namespace PDI {
40
44class Context;
45
50class Datatype;
51
54class Array_datatype;
55
59
62class Record_datatype;
63
66class Scalar_datatype;
67
70class Tuple_datatype;
71
77
78using Datatype_template_ptr [[deprecated]] = std::shared_ptr<const Datatype_template>;
79using Datatype_template_sptr = std::shared_ptr<const Datatype_template>;
80
81using Datatype_sptr = std::shared_ptr<const Datatype>;
82
86class Data_descriptor;
87
90class Logger;
91
94class Plugin;
95
96template <bool, bool>
97class Ref_any;
98
100
102
104
106
115
120class Expression;
121
124class Error;
125
128class Spectree_error;
129
132class Multiple_errors;
133
136struct Paraconf_wrapper;
137
140class Yaml_region;
141
144class Reference_base;
145
148class Timer_event_handler;
149
150} // namespace PDI
151
152#endif // PDI_PDI_FWD_H_
an Array_datatype is a Datatype that represents an array: i.e storage of multiple elements of the sam...
Definition array_datatype.h:45
Definition context.h:43
Definition data_descriptor.h:39
Definition datatype_template.h:44
A Datatype is a Datatype_template that accepts no argument.
Definition datatype.h:47
Wrapper for spdlog::logger with additional pattern getter method.
Definition logger.h:44
The class PDI plugins should implement.
Definition plugin.h:45
Definition pointer_datatype.h:38
A Record_datatype is a Datatype that represents a fixed number of elements of potentially different t...
Definition record_datatype.h:42
A dynamically typed reference to data with automatic memory management and read/write locking semanti...
Definition ref_any.h:242
Definition scalar_datatype.h:39
A Tuple_datatype is a Datatype that represents a fixed number of elements of potentially different ty...
Definition tuple_datatype.h:42
Definition array_datatype.h:38
Ref_any< true, true > Ref_rw
Definition pdi_fwd.h:105
Ref_any< false, true > Ref_w
Definition pdi_fwd.h:103
std::shared_ptr< const Datatype_template > Datatype_template_sptr
Definition pdi_fwd.h:79
Ref_any< true, false > Ref_r
Definition pdi_fwd.h:101
std::shared_ptr< const Datatype > Datatype_sptr
Definition pdi_fwd.h:81
Scalar_kind
Different possible interpretations for a scalar.
Definition pdi_fwd.h:109
@ SIGNED
Definition pdi_fwd.h:111
@ UNKNOWN
Definition pdi_fwd.h:110
@ UNSIGNED
Definition pdi_fwd.h:112
@ FLOAT
Definition pdi_fwd.h:113
Ref_any< false, false > Ref
Definition pdi_fwd.h:99