30 template <
typename ValueType>
31 Label(
const std::string &
id, ValueType &&data,
const unsigned long long index,
const size_t width = 1);
41 template <
typename MultType,
typename DivType>
42 Label toAdjusted(
const MultType &mult,
const DivType &div)
const;
72 bool operator<(
const Label &other)
const;
75 template<
class Archive>
76 void serialize(Archive & ar,
const unsigned int version);
97 template <
typename IterType>
101 template <
typename RangeType>
117 template <
typename ValueType>
118 Pothos::Label::Label(
const std::string &
id, ValueType &&data,
const unsigned long long index,
const size_t width):
120 data(
Object(std::forward<ValueType>(data))),
127 template <
typename MultType,
typename DivType>
131 newLabel.
index *= mult;
132 newLabel.
width *= mult;
133 newLabel.
index /= div;
134 newLabel.
width /= div;
149 return this->index < other.
index;
152 template <
typename IterType>
154 _begin(begin), _end(end)
159 template <
typename RangeType>
161 _begin(range.data()), _end(range.data() + range.size())
const_iterator end(void) const
Get the end of the iterator range (exclusive)
Definition: Label.hpp:171
#define POTHOS_API
Definition: Config.hpp:41
const Label * const_iterator
Const Label iterator type.
Definition: Label.hpp:91
unsigned long long index
Definition: Label.hpp:62
POTHOS_API bool operator==(const Callable &lhs, const Callable &rhs)
size_t width
Definition: Label.hpp:69
bool operator<(const Label &other) const
support for sorting Labels by index
Definition: Label.hpp:147
Label toAdjusted(const MultType &mult, const DivType &div) const
Label(void)
Create an empty label with null data and zero index.
Definition: Object.hpp:55
void serialize(Archive &, Pothos::Detail::ObjectContainer &, const unsigned int)
Definition: Serialize.hpp:46
Object data
Definition: Label.hpp:55
std::string id
Definition: Label.hpp:50
const_iterator begin(void) const
Get the begining of the iterator range (inclusive)
Definition: Label.hpp:166
LabelIteratorRange(void)
Create an empty/invalid LabelIteratorRange.