diff --git a/swig/libccllexicon.i b/swig/libccllexicon.i index 69cc3240af27e9aacfb7303fa37c8b0e7d1611fa..c49dd7988bd98be4ae8bc66b1a55e4e279b6a5b4 100644 --- a/swig/libccllexicon.i +++ b/swig/libccllexicon.i @@ -60,6 +60,9 @@ namespace Wccl { const map_t& map() const; }; + + %template(LexiconPtr) boost::shared_ptr<Wccl::Lexicon>; + %template(ConstLexiconPtr) boost::shared_ptr<const Wccl::Lexicon>; } using namespace boost; diff --git a/swig/libccllexicons.i b/swig/libccllexicons.i index a25137943d6119590c2f6489a1ede13572b0ce65..476a79007378a44199750fd9368c498aae2f8e2f 100644 --- a/swig/libccllexicons.i +++ b/swig/libccllexicons.i @@ -39,6 +39,9 @@ namespace Wccl { const map_t& get_lexicons() const; }; + + %template(LexiconsPtr) boost::shared_ptr<Wccl::Lexicons>; + %template(ConstLexiconsPtr) boost::shared_ptr<const Wccl::Lexicons>; } using namespace boost; diff --git a/swig/libcclmatchrulesequence.i b/swig/libcclmatchrulesequence.i index 590bd907df27b48518fa7a5bde173691b3d52d0f..eca44e3987e43b0b599eb1956f77313af2e4c7a6 100644 --- a/swig/libcclmatchrulesequence.i +++ b/swig/libcclmatchrulesequence.i @@ -14,7 +14,9 @@ %include "std_vector.i" %include "boost_shared_ptr.i" -%template(MatchRuleVector) std::vector<MatchRule>; +%template(MatchRuleVector) std::vector<Wccl::MatchRule>; +%template(MatchRuleSequencePtr) boost::shared_ptr<Wccl::MatchRule>; +%template(ConstMatchRuleSequencePtr) boost::shared_ptr<const Wccl::MatchRule>; namespace Wccl { class MatchRuleSequence : public std::vector<MatchRule>, public Expression { diff --git a/swig/libccltagrulesequence.i b/swig/libccltagrulesequence.i index f85f04f721dfb713c4eac05425171b25653648ed..75aa8d827509f8329a01c0f0179a2c5884f9aa46 100644 --- a/swig/libccltagrulesequence.i +++ b/swig/libccltagrulesequence.i @@ -17,6 +17,7 @@ %template(StdVectorTagRule) std::vector<TagRule>; %template(TagRuleSequencPtr) boost::shared_ptr<Wccl::TagRuleSequence>; +%template(ConstTagRuleSequencPtr) boost::shared_ptr<const Wccl::TagRuleSequence>; namespace Wccl { class TagRuleSequence : public std::vector<TagRule>, public Expression { diff --git a/swig/libcclwcclfile.i b/swig/libcclwcclfile.i index 81dda6a08462f88622e372e96866c2a00333203f..6311ed8769948ad6a6cd2d5ad98b64096f404c62 100644 --- a/swig/libcclwcclfile.i +++ b/swig/libcclwcclfile.i @@ -34,7 +34,7 @@ %nodefaultctor Wccl::WcclFile; -%template(OpSequenceStrSet) Wccl::WcclFileOpSections<Wccl::OpSequence<Wccl::StrSet> >; +%template(WcclFilePtr) boost::shared_ptr<Wccl::WcclFile>; namespace Wccl { class WcclFile @@ -147,8 +147,8 @@ namespace Wccl { /* --------------------------------------------------------------------- */ + // UntypedOpSequence::name_op_v_c_t gen_name_untyped_op_pairs() const; UntypedOpSequence::name_op_v_t gen_name_untyped_op_pairs(); - UntypedOpSequence::name_op_v_c_t gen_name_untyped_op_pairs() const; /* --------------------------------------------------------------------- */ @@ -240,9 +240,7 @@ namespace Wccl { %template(add_section_position) add_section<Position>; %template(add_section_match) add_section<Match>; - /* - void import_lexicon(const boost::shared_ptr<Lexicon>& lexicon); - */ + void import_lexicon(const shared_ptr<Lexicon>& lexicon); /* void set_tag_rules(const shared_ptr<TagRuleSequence>& tag_rules); diff --git a/swig/libcclwcclfileopsections.i b/swig/libcclwcclfileopsections.i index f5ca97642e8f8c51413fadbfe0af88ea86450410..8e8ee40d69a0e46fff1c41ddc9ed019377ec11cd 100644 --- a/swig/libcclwcclfileopsections.i +++ b/swig/libcclwcclfileopsections.i @@ -80,6 +80,8 @@ namespace Wccl { %template(BoolOpSequence) WcclFileOpSections<OpSequence<Bool> >; %template(PositionOpSequence) WcclFileOpSections<OpSequence<Position> >; %template(MatchOpSequence) WcclFileOpSections<OpSequence<Match> >; + + %template(OpSequenceStrSet) Wccl::WcclFileOpSections<Wccl::OpSequence<Wccl::StrSet> >; } using namespace std;