예제 #1
0
/* Write the LLS on the screen */
void writeNode(typeList lis) {
    if (emptyList(lis))
        printf("\n");
    else {
        writeDataType(lis->data);
        writeNode(lis->next);
    }
}
예제 #2
0
    /* Write an integer to the Marshal object 
    */
    void Marshal::Write(int val)
    {
        writeDataType(MTYPE_INT);

        // check for stream write error 
        CHECK_WRITE_ERROR(m_stream);

        writeInteger(val);

        // check for stream write error 
        CHECK_WRITE_ERROR(m_stream);
    }
예제 #3
0
    /* Write a SCXRegexWithIndex object to the Marshal object 
    */
    void Marshal::Write(const SCXRegexWithIndex& ri)
    {
        writeDataType(MTYPE_REGEX_INDEX);
        
        // check for stream write error 
        CHECK_WRITE_ERROR(m_stream);

        writeInteger((int) ri.index);

        CHECK_WRITE_ERROR(m_stream);

        Write(ri.regex->Get());
    }
예제 #4
0
    /* Write a vector of SCXRegexWithIndex object to the Marshal object 
    */
    void Marshal::Write(const vector<SCXRegexWithIndex>& vri)
    {
        writeDataType(MTYPE_VECTOR_REGEX_INDEX);

        // check for stream write error 
        CHECK_WRITE_ERROR(m_stream);

        int vecSize = (int) vri.size();
        writeInteger(vecSize);

        CHECK_WRITE_ERROR(m_stream);

        for(int i  = 0; i < vecSize; i++)
        {
           Write(vri[i]);
        }
    }
예제 #5
0
    /* Write a vector of wstring to the Marshal object 
    */
    void Marshal::Write(const vector<wstring>& vws)
    {
        writeDataType(MTYPE_VECTOR_WSTRING);

        // check for stream write error 
        CHECK_WRITE_ERROR(m_stream);

        int vecSize = (int) vws.size();
        writeInteger(vecSize);

        CHECK_WRITE_ERROR(m_stream);

        for(int i = 0; i < vecSize; i++)
        {
            Write(vws[i]);
        }
    }
예제 #6
0
    /* Write a wstring to the Marshal object 
    */
    void Marshal::Write(const wstring& ws)
    {
        writeDataType(MTYPE_WSTRING);

        // check for stream write error 
        CHECK_WRITE_ERROR(m_stream);

        int strSize = (int) (ws.length() * sizeof(wchar_t));
        writeInteger(strSize);

        CHECK_WRITE_ERROR(m_stream);

        vector<char> buf(strSize, '\0');
        memcpy(&buf[0], ws.c_str(), strSize);
        m_stream.write(&buf[0], strSize);
    
        // check for stream write error 
        CHECK_WRITE_ERROR(m_stream);
     }