Skip to content

Commit a7a727d

Browse files
fix: add back non-const stl container ctor overloads to BufferStreamReadOnly
1 parent b26f178 commit a7a727d

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

include/BufferStream.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -919,10 +919,18 @@ class BufferStreamReadOnly : public BufferStream {
919919
explicit BufferStreamReadOnly(T(&buffer)[M][N])
920920
: BufferStreamReadOnly(static_cast<const T*>(buffer), sizeof(T) * M * N) {}
921921

922+
template<BufferStreamNonResizableContiguousContainer T>
923+
explicit BufferStreamReadOnly(T& buffer)
924+
: BufferStreamReadOnly(const_cast<const typename T::value_type*>(buffer.data()), buffer.size() * sizeof(typename T::value_type)) {}
925+
922926
template<BufferStreamNonResizableContiguousContainerConst T>
923927
explicit BufferStreamReadOnly(T& buffer)
924928
: BufferStreamReadOnly(buffer.data(), buffer.size() * sizeof(typename T::value_type)) {}
925929

930+
template<BufferStreamResizableContiguousContainer T>
931+
explicit BufferStreamReadOnly(T& buffer)
932+
: BufferStreamReadOnly(const_cast<const typename T::value_type*>(buffer.data()), buffer.size() * sizeof(typename T::value_type)) {}
933+
926934
template<BufferStreamResizableContiguousContainerConst T>
927935
explicit BufferStreamReadOnly(T& buffer)
928936
: BufferStreamReadOnly(buffer.data(), buffer.size() * sizeof(typename T::value_type)) {}

0 commit comments

Comments
 (0)