25 #ifndef SER4CPP_STATICBUFFER_H 26 #define SER4CPP_STATICBUFFER_H 28 #include "ser4cpp/util/Comparisons.h" 29 #include "ser4cpp/util/Uncopyable.h" 30 #include "ser4cpp/container/SequenceTypes.h" 38 template <
class T, T LENGTH>
41 static_assert(!std::numeric_limits<T>::is_signed&& std::numeric_limits<T>::is_integer,
"Must be an unsigned integer");
48 return RSeq<T>(this->buffer, LENGTH);
51 inline RSeq<T> as_seq(T max_size)
const 53 return this->as_seq().take(max_size);
58 return wseq_t(this->buffer, LENGTH);
61 inline wseq_t as_wseq(uint32_t max_size)
63 return wseq_t(this->buffer, ser4cpp::min(LENGTH, max_size));
66 inline T length()
const 72 uint8_t buffer[LENGTH] = { 0 };
ser4cpp header-only library namespace