mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
integrating the existing state of TON Storage / TON Payments / CPS Fift development branches
This commit is contained in:
parent
040df63c98
commit
4e2624459b
153 changed files with 10760 additions and 1695 deletions
|
@ -86,6 +86,26 @@ class SpanImpl {
|
|||
return data_[i];
|
||||
}
|
||||
|
||||
InnerT &back() {
|
||||
DCHECK(!empty());
|
||||
return data_[size() - 1];
|
||||
}
|
||||
|
||||
const InnerT &back() const {
|
||||
DCHECK(!empty());
|
||||
return data_[size() - 1];
|
||||
}
|
||||
|
||||
InnerT &front() {
|
||||
DCHECK(!empty());
|
||||
return data_[0];
|
||||
}
|
||||
|
||||
const InnerT &front() const {
|
||||
DCHECK(!empty());
|
||||
return data_[0];
|
||||
}
|
||||
|
||||
InnerT *data() const {
|
||||
return data_;
|
||||
}
|
||||
|
@ -109,8 +129,9 @@ class SpanImpl {
|
|||
}
|
||||
|
||||
SpanImpl &truncate(size_t size) {
|
||||
CHECK(size <= size_);
|
||||
size_ = size;
|
||||
if (size < size_) {
|
||||
size_ = size;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
@ -136,9 +157,45 @@ template <class T>
|
|||
Span<T> span(const T *ptr, size_t size) {
|
||||
return Span<T>(ptr, size);
|
||||
}
|
||||
template <class T>
|
||||
Span<T> span(const std::vector<T> &vec) {
|
||||
return Span<T>(vec);
|
||||
}
|
||||
|
||||
template <class T>
|
||||
MutableSpan<T> mutable_span(T *ptr, size_t size) {
|
||||
return MutableSpan<T>(ptr, size);
|
||||
}
|
||||
template <class T>
|
||||
MutableSpan<T> mutable_span(std::vector<T> &vec) {
|
||||
return MutableSpan<T>(vec);
|
||||
}
|
||||
|
||||
template <class T>
|
||||
Span<T> span_one(const T &value) {
|
||||
return td::Span<T>(&value, 1);
|
||||
}
|
||||
template <class T>
|
||||
MutableSpan<T> mutable_span_one(T &value) {
|
||||
return td::MutableSpan<T>(&value, 1);
|
||||
}
|
||||
|
||||
template <class T>
|
||||
Span<T> as_span(Span<T> span) {
|
||||
return span;
|
||||
}
|
||||
template <class T>
|
||||
Span<T> as_span(const std::vector<T> &vec) {
|
||||
return Span<T>(vec);
|
||||
}
|
||||
|
||||
template <class T>
|
||||
MutableSpan<T> as_mutable_span(MutableSpan<T> span) {
|
||||
return span;
|
||||
}
|
||||
template <class T>
|
||||
MutableSpan<T> as_mutable_span(std::vector<T> &vec) {
|
||||
return MutableSpan<T>(vec);
|
||||
}
|
||||
|
||||
} // namespace td
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue