cpp/io/basic spanbuf/basic spanbuf

@1@ Default constructor. Creates a that has no underlying buffer and is opened for both input and output. The pointers to get and put area are set to the null pointer value.

@2@ Same as, except that the is opened in mode specified by.

@3@ Creates a that manages the underlying buffer referenced by  (or has no underlying buffer if  is empty) and is opened in mode specified by. The pointers to get and put area are set as following, or to the null pointer value if not mentioned in the table:

@4@ Copy constructor is deleted. is not copyable.

@5@ Move constructor. Move-constructs the std base subobject from that of. The pointers to get and put area, the open mode, and the underlying buffer (if any) are identical to those in before construction. It is implementation-defined whether still holds the underlying buffer after the move-construction.