diff options
Diffstat (limited to 'libxsd-frontend/xsd-frontend/semantic-graph/compositors.hxx')
| -rw-r--r-- | libxsd-frontend/xsd-frontend/semantic-graph/compositors.hxx | 234 | 
1 files changed, 0 insertions, 234 deletions
diff --git a/libxsd-frontend/xsd-frontend/semantic-graph/compositors.hxx b/libxsd-frontend/xsd-frontend/semantic-graph/compositors.hxx deleted file mode 100644 index 3573c24..0000000 --- a/libxsd-frontend/xsd-frontend/semantic-graph/compositors.hxx +++ /dev/null @@ -1,234 +0,0 @@ -// file      : xsd-frontend/semantic-graph/compositors.hxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license   : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_COMPOSITORS_HXX -#define XSD_FRONTEND_SEMANTIC_GRAPH_COMPOSITORS_HXX - -#include <list> - -#include <xsd-frontend/semantic-graph/elements.hxx> -#include <xsd-frontend/semantic-graph/particle.hxx> - -namespace XSDFrontend -{ -  namespace SemanticGraph -  { -    // -    // -    class ContainsCompositor: public virtual Edge -    { -    public: -      Compositor& -      compositor () const -      { -        return *compositor_; -      } - -      Node& -      container () const -      { -        return *container_; -      } - -    public: -      unsigned long -      min () const -      { -        return min_; -      } - -      unsigned long -      max () const -      { -        return max_; -      } - -    public: -      ContainsCompositor (unsigned long min, unsigned long max); - -      void -      set_left_node (Node& n) -      { -        container_ = &n; -      } - -      void -      set_right_node (Compositor& n) -      { -        compositor_ = &n; -      } - -      void -      clear_left_node (Node& n) -      { -        assert (container_ == &n); -        container_ = 0; -      } - -      void -      clear_right_node (Compositor& n) -      { -        assert (compositor_ == &n); -        compositor_ = 0; -      } - -    private: -      Compositor* compositor_; -      Node* container_; -      unsigned long min_, max_; -    }; - -    // -    // -    class Compositor: public virtual Particle -    { -      typedef std::list<ContainsParticle*> ContainsList; - -    public: -      typedef pointer_iterator<ContainsList::iterator> ContainsIterator; -      typedef -      pointer_iterator<ContainsList::const_iterator> -      ContainsConstIterator; - -      ContainsIterator -      contains_begin () -      { -        return contains_.begin (); -      } - -      ContainsIterator -      contains_end () -      { -        return contains_.end (); -      } - -      ContainsConstIterator -      contains_begin () const -      { -        return contains_.begin (); -      } - -      ContainsConstIterator -      contains_end () const -      { -        return contains_.end (); -      } - -    public: -      bool -      contained_compositor_p () -      { -        return contained_compositor_ != 0; -      } - -      ContainsCompositor& -      contained_compositor () -      { -        assert (contained_compositor_ != 0); -        return *contained_compositor_; -      } - -    public: -      unsigned long -      min () const -      { -        if (contained_compositor_ != 0) -          return contained_compositor_->min (); -        else -          return Particle::min (); -      } - -      unsigned long -      max () const -      { -        if (contained_compositor_ != 0) -          return contained_compositor_->max (); -        else -          return Particle::max (); -      } - -    public: -      Compositor (): contained_compositor_ (0) {} - -      void -      add_edge_left (ContainsParticle& e) -      { -        contains_.push_back (&e); -      } - -      void -      add_edge_left (ContainsParticle& e, ContainsIterator const& after) -      { -        if (after.base () == contains_.end ()) -          contains_.push_front (&e); -        else -        { -          ContainsList::iterator i (after.base ()); -          contains_.insert (++i, &e); -        } -      } - -      void -      remove_edge_left (ContainsParticle& e) -      { -        for (ContainsList::iterator i (contains_.begin ()); -             i != contains_.end (); ++i) -        { -          if (*i == &e) -          { -            contains_.erase (i); -            break; -          } -        } -      } - -      void -      add_edge_right (ContainsCompositor& e) -      { -        contained_compositor_ = &e; -      } - -      void -      remove_edge_right (ContainsCompositor& e) -      { -        assert (contained_compositor_ == &e); -        contained_compositor_ = 0; -      } - -      using Node::add_edge_right; -      using Particle::add_edge_right; -      using Particle::remove_edge_right; - -    private: -      ContainsList contains_; -      ContainsCompositor* contained_compositor_; -    }; - -    // -    // -    class All: public virtual Compositor -    { -    public: -      All (Path const& file, unsigned long line, unsigned long column); -    }; - -    // -    // -    class Choice: public virtual Compositor -    { -    public: -      Choice (Path const& file, unsigned long line, unsigned long column); -    }; - -    // -    // -    class Sequence: public virtual Compositor -    { -    public: -      Sequence (Path const& file, unsigned long line, unsigned long column); -    }; -  } -} - -#endif  // XSD_FRONTEND_SEMANTIC_GRAPH_COMPOSITORS_HXX  | 
