| NORSYS SOFTWARE © 2012 | NETICA API | C   VERSION   5.04  |
| stream_ns* NewMemoryStream_ns ( | const char* name, environ_ns* env, const char* access ) |
Returns a Norsys stream for reading and writing to buffers in memory, in the same format reading/writing is done to disk files.
name is a symbolic name for identifying the stream (e.g., in error messages), and providing information on the expected format of the buffer, in the same way that a file extension can be used to indicate the format of disk files.
The stream can be used for input or output. Use SetStreamContents_ns to have Netica read from a text buffer that you supply. Use GetStreamContents_ns to retrieve a buffer that Netica has written to.
name is not necessarily the name of a file on the OS filesystem. If the end of name consists of a dot and then a few characters, it will be interpreted like a filetype extension, which can be useful to Netica in deciding the data format of the stream. For example, writing a net to a memory stream with a ".dnet" or ".dne" extension will result in a text file Netica format ("DNET format"), whereas using a ".neta" extension would result in a binary Netica file.
Netica will make a copy of filename; it won't modify or free the passed string.
Pass NULL for access; it is only for future expansion.
When done with the stream_ns produced, call DeleteStream_ns.
Version:
See also:
| SetStreamContents_ns | Sets memory buffer | |
| GetStreamContents_ns | Retrieves memory buffer | |
| SetStreamPassword_ns | Prepare the stream to do encryption or decryption | |
| DeleteStream_ns | Releases all resources (e.g., memory) used by this stream |
Example:
long length;
stream_ns* strm = NewMemoryStream_ns ("myBuf.dne", env, NULL);
WriteNet_bn (net, strm); // write a net into the memory buffer
const char* buf = GetStreamContents_ns (strm, length);
// ... [examine and use the buffer contents] ...
DeleteStream_ns (strm);Example 2:
stream_ns* strm = NewMemoryStream_ns ("myBuf.cas", env, NULL);
const char* casedata = "A B C \n yes no 1 \n yes yes 3 \n no no 1";
SetStreamContents_ns (strm, casedata, strlen (casedata), true);
ReviseCPTsByCaseFile_bn (strm, nodes, 0, 1.0);
DeleteStream_ns (strm);