YAMI4 Core Library 2.0.0
Messaging Solution for Distributed Systems
Loading...
Searching...
No Matches
parameter_iterator.h
1// Copyright Maciej Sobczak 2008-2022.
2// This file is part of YAMI4.
3// See the package-level LICENSE.txt file.
4
5#ifndef YAMICORE_PARAMETER_ITERATOR_H_INCLUDED
6#define YAMICORE_PARAMETER_ITERATOR_H_INCLUDED
7
8#include "core.h"
9#include "dll.h"
10#include "parameter_entry.h"
11
12namespace yami
13{
14
15namespace details
16{
17struct entry;
18} // namespace details
19
20namespace core
21{
22
23class allocator;
24class parameters;
25
35{
36public:
42 bool has_next() const;
43
49 void move_next();
50
55
64 void remove();
65
66private:
67 friend class parameters;
68
69 details::entry * data_;
70 std::size_t current_index_;
71 std::size_t num_of_entries_;
72 core::allocator * allocator_;
73};
74
75} // namespace core
76
77} // namespace yami
78
79#endif // YAMICORE_PARAMETER_ITERATOR_H_INCLUDED
Common interface for the custom memory allocator.
Definition: allocator.h:20
Read-only view on the parameters entry.
Definition: parameter_entry.h:31
Iterator to parameter entries.
Definition: parameter_iterator.h:35
parameter_entry current() const
Gets the current entry.
void move_next()
Moves the iterator to the next entry.
bool has_next() const
Checks if there is a subsequent entry.
void remove()
Removes the current entry.
Collection of message parameters.
Definition: parameters.h:83
Namespace devoted for everything related to YAMI4.
Definition: agent.h:14