Skip to content
Snippets Groups Projects
Commit e8185fae authored by Paweł Kędzia's avatar Paweł Kędzia
Browse files

Add wrapper for Wccl::Operator

parent 0c536115
Branches
No related merge requests found
#ifndef SWIG_LIBWCCL_OPERATOR_I
#define SWIG_LIBWCCL_OPERATOR_I
%module libccloperator
%{
#include <libwccl/ops/operator.h>
%}
%include "libcclvalue.i"
%include "libcclsentencecontext.i"
%include "libcclfunctionaloperator.i"
/*
%include "libcclvariables.i"
%include "libcclparsedexpression.i"
*/
%include "std_string.i"
%include "boost_shared_ptr.i"
%feature("notabstract") Wccl::Operator;
%rename(__op_cop__) Wccl::Operator::operator=(const Operator& other);
%rename(__op_fun__) Wccl::Operator::operator()(const SentenceContext& sentence_context);
namespace Wccl {
template <class T> class Operator : public FunctionalOperator {
public:
Operator();
Operator& operator=(const Operator& other);
/*
Operator(const boost::shared_ptr<const Function<T> >& body, const Variables& variables);
*/
Operator(const Operator& other, bool clean = false);
boost::shared_ptr<const T> operator()(const SentenceContext& sentence_context);
boost::shared_ptr<const T> apply(const SentenceContext& sentence_context);
boost::shared_ptr<T> copy_apply(const SentenceContext& sentence_context);
boost::shared_ptr<const Value> base_apply(const SentenceContext& sc);
Operator clone() const;
Operator clone_clean() const;
boost::shared_ptr<Operator<T> > clone_ptr() const;
boost::shared_ptr<Operator<T> > clone_clean_ptr() const;
std::string to_string(const Corpus2::Tagset& tagset) const;
protected:
Operator* clone_internal() const;
std::ostream& write_to(std::ostream& ostream) const;
};
%template (BoolOperator) Operator<Bool>;
%template (TSetOperator) Operator<TSet>;
%template (StrSetOperator) Operator<StrSet>;
%template (PositionOperator) Operator<Position>;
%template (SharedPtrBoolOperator) boost::shared_ptr<Operator<Bool> >;
%template (SharedPtrTSetOperator) boost::shared_ptr<Operator<TSet> >;
%template (SharedPtrStrSetOperator) boost::shared_ptr<Operator<StrSet> >;
%template (SharedPtrPositionOperator) boost::shared_ptr<Operator<Position> >;
}
using namespace boost;
using namespace std;
using namespace Wccl;
#endif /* SWIG_LIBWCCL_OPERATOR_I */
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment