Line data Source code
1 : #ifndef PARAMETERS_H
2 : #define PARAMETERS_H
3 :
4 : #include "../../../tables/typeTable/types/type.h"
5 : #include <cstddef>
6 : #include <memory>
7 : #include <string>
8 : #include <vector>
9 :
10 : namespace nicole {
11 :
12 : class Parameters {
13 : private:
14 : std::vector<std::pair<std::string, std::shared_ptr<Type>>> params_;
15 :
16 : public:
17 : explicit Parameters(
18 : const std::vector<std::pair<std::string, std::shared_ptr<Type>>>
19 : ¶ms) noexcept
20 0 : : params_{params} {}
21 :
22 : [[nodiscard]] const std::vector<
23 : std::pair<std::string, std::shared_ptr<Type>>> &
24 0 : params() const noexcept {
25 0 : return params_;
26 0 : }
27 :
28 0 : [[nodiscard]] std::size_t size() const noexcept { return params_.size(); }
29 :
30 0 : auto begin() const noexcept { return params_.begin(); }
31 :
32 0 : auto end() const noexcept { return params_.end(); }
33 : };
34 :
35 : } // namespace nicole
36 :
37 : #endif
|