lintel 0.2.0
Loading...
Searching...
No Matches
Parameter.h
Go to the documentation of this file.
1#ifndef LINTEL_ENTRY_H
2#define LINTEL_ENTRY_H
3
4#include <string>
5#include <utility>
6#include <vector>
7
8namespace lintel {
9namespace db {
14 {
15 private:
16 std::string m_value;
17
18 explicit Parameter(std::string value);
19
20 public:
26 static Parameter with(const std::string &value);
27
29 [[nodiscard]] const std::string &getValue() const;
30
32 [[nodiscard]] std::size_t getLength() const;
33
35 static constexpr int32_t getFormatId() { return 1; }
36 };
37
42 {
43 private:
44 std::vector<Parameter> m_params;
45
46 static std::vector<Parameter> init(const std::vector<std::string> &params);
47
48 public:
53 explicit Parameters(const std::vector<std::string> &params);
54
59 explicit Parameters(std::vector<Parameter> params);
60
62 [[nodiscard]] std::vector<const char *> getParameters() const;
63
65 [[nodiscard]] std::vector<int32_t> getParametersLengths() const;
66
68 [[nodiscard]] std::vector<int32_t> getParametersTypes() const;
69 };
70}// namespace db
71
72}// namespace lintel
73#endif// LINTEL_ENTRY_H
Definition Parameter.h:14
std::size_t getLength() const
static constexpr int32_t getFormatId()
Definition Parameter.h:35
static Parameter with(const std::string &value)
const std::string & getValue() const
Definition Parameter.h:42
Parameters(const std::vector< std::string > &params)
std::vector< int32_t > getParametersTypes() const
std::vector< int32_t > getParametersLengths() const
std::vector< const char * > getParameters() const
Parameters(std::vector< Parameter > params)
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9