#ifndef SWIG_LIBWCCL_TSET_I #define SWIG_LIBWCCL_TSET_I %module libccltset %{ #include <libwccl/values/value.h> #include <libwccl/values/tset.h> %} /* Include required headers */ %include "std_string.i" %include "value.i" %include "libcorpus2/tag.i" %include "libcorpus2/tagset.i" %feature("notabstract") Wccl::TSet; namespace Wccl { class TSet : public Value { public: const char* get_type_name() const { return type_name; } static std::string var_repr(const std::string &var_name); std::string make_var_repr(const std::string &var_name) const { return var_repr(var_name); } TSet(); explicit TSet(Corpus2::Tag tag); const Corpus2::Tag& get_value() const; void set_value(const Corpus2::Tag& tag); const Corpus2::Tag& contents(); void insert_symbol(const Corpus2::Tagset& tagset, const std::string& s); bool empty() const; bool is_subset_of(const TSet& other) const; bool intersects(const TSet& other) const; bool equals(const TSet& other) const; int categories_count(const Corpus2::Tagset& tagset) const; int matching_categories(const Corpus2::Tag& tag) const; void combine_with(const Corpus2::Tag& other); void combine_with(const TSet& other); std::string to_string(const Corpus2::Tagset &) const; std::string to_raw_string() const; }; } using namespace std; using namespace Wccl; #endif /* SWIG_LIBWCCL_TSET_I */