libpromeki 1.0.0-alpha
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
numnameseq.h
Go to the documentation of this file.
1
8#pragma once
9
10
11#include <promeki/config.h>
12#if PROMEKI_ENABLE_CORE
13#include <promeki/namespace.h>
14#include <promeki/list.h>
15#include <promeki/numname.h>
16
17PROMEKI_NAMESPACE_BEGIN
18
19class StringList;
20
29class NumNameSeq {
30 public:
32 using List = ::promeki::List<NumNameSeq>;
33
43 static List parseList(StringList &input);
44
46 NumNameSeq() = default;
47
54 NumNameSeq(const NumName &n, size_t h, size_t t) : _name(n), _head(h), _tail(t) {}
55
60 const NumName &name() const { return _name; }
61
66 bool isValid() const { return _name.isValid(); }
67
72 size_t length() const { return _tail - _head + 1; }
73
78 size_t head() const { return _head; }
79
84 size_t tail() const { return _tail; }
85
86 private:
87 NumName _name;
88 size_t _head = 0;
89 size_t _tail = 0;
90};
91
92PROMEKI_NAMESPACE_END
93
94#endif // PROMEKI_ENABLE_CORE