$darkmode

| Qore DataProvider Module Reference 2.7.1

SoftListDataType.qc.dox.h
1// -*- mode: c++; indent-tabs-mode: nil -*-
3
25// assume local scope for variables, do not use "$" signs
26// require type definitions everywhere
28// enable all warnings
29
30
32 namespace DataProvider {
34 class SoftListDataType : public ListDataType {
35
36 public:
38 constructor(AbstractDataProviderType element_type, bool or_nothing = False, *hash<auto> options, *hash<auto> tags)
39 : ListDataType(sprintf("%ssoftlist<%s>", or_nothing ? "*" : "", element_type.getName()),
40 SoftListDataType::getQoreType(element_type.getValueType(), or_nothing), element_type,
41 or_nothing, options, tags) {
42 }
43
45 constructor(Type element_type, bool or_nothing = False, *hash<auto> options, *hash<auto> tags)
46 : ListDataType(sprintf("%ssoftlist<%s>", or_nothing ? "*" : "", element_type.getName()),
47 SoftListDataType::getQoreType(element_type, or_nothing), AbstractDataProviderType::get(element_type),
48 or_nothing, options, tags) {
49 }
50
52 constructor(string name, AbstractDataProviderType element_type, bool or_nothing = False, *hash<auto> options,
53 *hash<auto> tags)
54 : ListDataType(name, SoftListDataType::getQoreType(element_type.getValueType(), or_nothing),
55 element_type, or_nothing, options, tags) {
56 }
57
59 constructor(string name, Type element_type, bool or_nothing = False, *hash<auto> options, *hash<auto> tags)
60 : ListDataType(name,
61 SoftListDataType::getQoreType(element_type, or_nothing), AbstractDataProviderType::get(element_type),
62 or_nothing, options, tags) {
63 }
64
66 *AbstractDataProviderType getElementType();
67
68
70 *hash<string, AbstractDataField> getFields();
71
72
74 hash<string, bool> getAcceptTypeHash();
75
76
78 hash<string, bool> getReturnTypeHash();
79
80
82
88 auto acceptsValue(auto value);
89
90
92 protected:
93 init(AbstractDataProviderType element_type, bool or_nothing);
94 public:
95
96
98 protected:
99 Type getQoreType(Type element_type, bool or_nothing);
100 public:
101
102};
103};
DataProvider::AbstractDataProviderType
describes a data type
Definition: AbstractDataProviderType.qc.dox.h:187
DataProvider::AbstractDataProviderType::tags
*hash< auto > tags
type tags
Definition: AbstractDataProviderType.qc.dox.h:203
DataProvider::AbstractDataProviderType::options
hash< auto > options
type options
Definition: AbstractDataProviderType.qc.dox.h:200
DataProvider::AbstractDataProviderType::get
static AbstractDataProviderType get(Type type, *hash< auto > options, *hash< auto > tags)
Returns an appropriate object for the given type.
DataProvider::ListDataType
describes a data type based on a hash
Definition: ListDataType.qc.dox.h:28
DataProvider::ListDataType::name
string name
the name of the type
Definition: ListDataType.qc.dox.h:33
DataProvider::ListDataType::getName
string getName()
returns the type name
DataProvider::ListDataType::getValueType
*Type getValueType()
returns the base type for the type, if any
DataProvider::ListDataType::element_type
AbstractDataProviderType element_type
element type
Definition: ListDataType.qc.dox.h:36
DataProvider::SoftListDataType
describes a data type based on a hash
Definition: SoftListDataType.qc.dox.h:34
DataProvider::SoftListDataType::constructor
constructor(string name, AbstractDataProviderType element_type, bool or_nothing=False, *hash< auto > options, *hash< auto > tags)
creates the object
Definition: SoftListDataType.qc.dox.h:52
DataProvider::SoftListDataType::getFields
*hash< string, AbstractDataField > getFields()
returns the fields of the data structure; if any
DataProvider::SoftListDataType::constructor
constructor(Type element_type, bool or_nothing=False, *hash< auto > options, *hash< auto > tags)
creates the object
Definition: SoftListDataType.qc.dox.h:45
DataProvider::SoftListDataType::getQoreType
Type getQoreType(Type element_type, bool or_nothing)
Returns the underlying Qore type for this type.
DataProvider::SoftListDataType::getElementType
*AbstractDataProviderType getElementType()
returns the subtype (for lists or hashes) if there is only one
DataProvider::SoftListDataType::init
init(AbstractDataProviderType element_type, bool or_nothing)
common constructor initialization
DataProvider::SoftListDataType::getAcceptTypeHash
hash< string, bool > getAcceptTypeHash()
returns a hash of base types accepted by this type; keys are type names
DataProvider::SoftListDataType::getReturnTypeHash
hash< string, bool > getReturnTypeHash()
returns a hash of base types returned by this type; keys are type names
DataProvider::SoftListDataType::constructor
constructor(AbstractDataProviderType element_type, bool or_nothing=False, *hash< auto > options, *hash< auto > tags)
creates the object
Definition: SoftListDataType.qc.dox.h:38
DataProvider::SoftListDataType::constructor
constructor(string name, Type element_type, bool or_nothing=False, *hash< auto > options, *hash< auto > tags)
creates the object
Definition: SoftListDataType.qc.dox.h:59
DataProvider::SoftListDataType::acceptsValue
auto acceptsValue(auto value)
returns the value if the value can be assigned to the type
False
const False
sprintf
string sprintf(string fmt,...)
DataProvider
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:27