diff options
| -rw-r--r-- | libadhocutil/memstream.cpp | 1 | ||||
| -rw-r--r-- | libadhocutil/memstream.h | 9 | 
2 files changed, 10 insertions, 0 deletions
| diff --git a/libadhocutil/memstream.cpp b/libadhocutil/memstream.cpp index 35d42ad..a4ce95e 100644 --- a/libadhocutil/memstream.cpp +++ b/libadhocutil/memstream.cpp @@ -12,6 +12,7 @@ namespace AdHoc {  	MemStream::~MemStream()  	{  		fclose(strm); +		// NOLINTNEXTLINE(hicpp-no-malloc)  		free(buf);  	} diff --git a/libadhocutil/memstream.h b/libadhocutil/memstream.h index b807d8b..20b65fc 100644 --- a/libadhocutil/memstream.h +++ b/libadhocutil/memstream.h @@ -6,6 +6,9 @@  #include <string_view>  namespace AdHoc { +	/** +	 * Wrapper around open_memstream(3) +	 */  	class DLL_PUBLIC MemStream {  		public:  			MemStream(); @@ -17,12 +20,18 @@ namespace AdHoc {  			void operator=(const MemStream &) = delete;  			void operator=(MemStream &&) = delete; +			/// Implicit conversion to use as FILE* for writes  			operator FILE * (); +			/// Implicit conversion to use as const char * for reads  			operator const char * () const; +			/// Implicit conversion to use as std::string_view for reads  			operator std::string_view () const; +			/// Get buffer contents  			const char * buffer() const; +			/// Get buffer contents view  			std::string_view sv() const; +			/// Get buffer length  			size_t length() const;  		private: | 
