From cd7f24666b69d3ffb5bd1c4c5863c5bf7b09b980 Mon Sep 17 00:00:00 2001 From: Adam Wardynski <award@.(win7-laptop)> Date: Fri, 29 Apr 2011 21:36:19 +0200 Subject: [PATCH] Add lexicons to WcclFile. --- libwccl/wcclfile.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/libwccl/wcclfile.h b/libwccl/wcclfile.h index fe7d50c..5dc4754 100644 --- a/libwccl/wcclfile.h +++ b/libwccl/wcclfile.h @@ -8,6 +8,7 @@ #include <libwccl/values/tset.h> #include <libwccl/wcclfileopsections.h> #include <libwccl/ops/tagrulesequence.h> +#include <libwccl/lexicon/lexicons.h> namespace Wccl { @@ -72,6 +73,11 @@ public: FunctionalOpSequence::name_op_v_t gen_all_op_pairs(); FunctionalOpSequence::name_op_v_c_t gen_all_op_pairs() const; + void import_lexicon(const boost::shared_ptr<Lexicon>& lexicon); + bool has_lexicon(const std::string& name) const; + boost::shared_ptr<const Lexicon> get_lexicon_ptr(const std::string& name) const; + const Lexicon& get_lexicon(const std::string& name) const; + void add_untyped_section(const boost::shared_ptr<UntypedOpSequence>& section); void add_untyped_section(const boost::shared_ptr<const UntypedOpSequence>& section); void add_untyped_section(const UntypedOpSequence& section); @@ -98,6 +104,7 @@ private: std::ostream& write_to(std::ostream& ostream) const; std::vector<boost::shared_ptr<FunctionalOpSequence> > all_sections_; boost::shared_ptr<TagRuleSequence> tag_rules_; + boost::shared_ptr<Lexicons> lexicons_; const Corpus2::Tagset& tagset_; }; @@ -277,6 +284,30 @@ typename OpSequence<T>::name_op_v_c_t WcclFile::gen_name_op_pairs() const return WcclFileOpSections<OpSequence<T> >::gen_name_op_pairs(); } +inline +void WcclFile::import_lexicon(const boost::shared_ptr<Lexicon>& lexicon) +{ + lexicons_->insert(lexicon); +} + +inline +bool WcclFile::has_lexicon(const std::string& name) const +{ + return lexicons_->has_lexicon(name); +} + +inline +boost::shared_ptr<const Lexicon> WcclFile::get_lexicon_ptr(const std::string& name) const +{ + return lexicons_->get_ptr(name); +} + +inline +const Lexicon& WcclFile::get_lexicon(const std::string &name) const +{ + return lexicons_->get(name); +} + inline void WcclFile::add_untyped_section(const boost::shared_ptr<UntypedOpSequence>& section) { -- GitLab