[ANN] eipp - Erlang C++ Language Binding
От: Mamut Швеция http://dmitriid.com
Дата: 17.05.07 07:59
Оценка: 2 (1)
Из рассылки по Эрлангу:

Я рад объявить о "eipp": erlang bindings for c++. Мой работодатель позволил мне опубликовать исходные коды этой библиотеки, за что спасибо http://www.norscan.com .

Целью eipp является предоставление простого, безопасного и эффективного интерфейса к эрланговскому External Term Format из c++. Работа все еще ведется (см. http://code.google.com/p/eipp/), но то, что уже есть, похоже, уже полезно в работе. Пример работающего кода лучше, чем описание в тысячу слов, поэтому ниже я привел полноценный пример порта. Юнит тесты тоже являются неплохими примерами работы, во всяком случае, пока я не создал нормальныю документацию

#include <iostream>
#include "eipp.h"
#include "eipp_packet.h"

using namespace eipp;
using namespace std;

int main()
{
    while(1)
    {
        atom_t cmd; // тип atom... ну, представьте себе std::string
        et data;    // общий тип "erlang term"

        // ожидаем кортеж в виде {CmdAtom, Data}
        untuple(cmd,data)=binary_to_term(receive4(cin));
       
        // Пока поддерживается только одна команда...
        if(cmd=="times2")
        {
            int num=data; // "et" может быть приведено ко множеству типов
            num*=2;
            send4(cout,term_to_binary(tuple("ok",num)));
        }
    }
}



dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.