diff options
Diffstat (limited to 'libxsd-frontend/xsd-frontend/semantic-graph/schema.hxx')
| -rw-r--r-- | libxsd-frontend/xsd-frontend/semantic-graph/schema.hxx | 237 | 
1 files changed, 0 insertions, 237 deletions
diff --git a/libxsd-frontend/xsd-frontend/semantic-graph/schema.hxx b/libxsd-frontend/xsd-frontend/semantic-graph/schema.hxx deleted file mode 100644 index 803c870..0000000 --- a/libxsd-frontend/xsd-frontend/semantic-graph/schema.hxx +++ /dev/null @@ -1,237 +0,0 @@ -// file      : xsd-frontend/semantic-graph/schema.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license   : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_SCHEMA_HXX -#define XSD_FRONTEND_SEMANTIC_GRAPH_SCHEMA_HXX - -#include <set> -#include <vector> - -#include <xsd-frontend/semantic-graph/elements.hxx> -#include <xsd-frontend/semantic-graph/namespace.hxx> - -namespace XSDFrontend -{ -  namespace SemanticGraph -  { -    class Schema; - -    class Uses: public virtual Edge -    { -    public: -      Schema& -      user () const -      { -        return *user_; -      } - -      Schema& -      schema () const -      { -        return *schema_; -      } - -      Path -      path () const -      { -        return path_; -      } - -    public: -      Uses (Path const& path): path_ (path) {} - -      void -      set_left_node (Schema& s) -      { -        user_ = &s; -      } - -      void -      set_right_node (Schema& s) -      { -        schema_ = &s; -      } - -    private: -      Path path_; -      Schema* user_; -      Schema* schema_; -    }; - - -    // -    // -    class Implies: public virtual Uses -    { -    public: -      Implies (Path const& path): Uses (path) {} -    }; - - -    // -    // -    class Sources: public virtual Uses -    { -    public: -      Sources (Path const& path): Uses (path) {} -    }; - - -    // -    // -    class Includes: public virtual Uses -    { -    public: -      Includes (Path const& path): Uses (path) {} -    }; - - -    // -    // -    class Imports: public virtual Uses -    { -    public: -      Imports (Path const& path): Uses (path) {} -    }; - -    // -    // -    class Schema: public graph, public virtual Scope -    { -      typedef std::vector<Uses*> UsesList; -      typedef std::vector<Uses*> UsedList; - -    public: -      Schema (Path const& file, unsigned long line, unsigned long column) -          : Node (file, line, column), graph_ (*this) -      { -      } - -    private: -      Schema (Schema const&); -      Schema& operator= (Schema const&); - -    public: -      typedef pointer_iterator<UsesList::const_iterator> UsesIterator; - -      UsesIterator -      uses_begin () const -      { -        return uses_.begin (); -      } - -      UsesIterator -      uses_end () const -      { -        return uses_.end (); -      } - -    public: -      typedef pointer_iterator<UsedList::const_iterator> UsedIterator; - -      UsedIterator -      used_begin () const -      { -        return used_.begin (); -      } - -      UsedIterator -      used_end () const -      { -        return used_.end (); -      } - -      bool -      used_p () const -      { -        return used_begin () != used_end (); -      } - -      virtual NamesIteratorPair -      find (Name const& name) const; - -    public: -      using graph::new_edge; -      using graph::reset_left_node; -      using graph::reset_right_node; -      using graph::add_edge_left; -      using graph::add_edge_right; -      using graph::delete_node; -      using graph::delete_edge; - -      template <typename T> -      T& -      new_node (Path const& file, unsigned long line, unsigned long column) -      { -        return graph_.new_node<T> (file, line, column); -      } - -      template <typename T, typename A0> -      T& -      new_node (Path const& file, unsigned long line, unsigned long column, -                A0 const& a0) -      { -        return graph_.new_node<T> (file, line, column, a0); -      } - -      template <typename T, typename A0, typename A1> -      T& -      new_node (Path const& file, unsigned long line, unsigned long column, -                A0 const& a0, A1 const& a1) -      { -        return graph_.new_node<T> (file, line, column, a0, a1); -      } - -      template <typename T, typename A0, typename A1, typename A2> -      T& -      new_node (Path const& file, unsigned long line, unsigned long column, -                A0 const& a0, A1 const& a1, A2 const& a2) -      { -        return graph_.new_node<T> (file, line, column, a0, a1, a2); -      } - -      template <typename T, typename A0, typename A1, typename A2, -                typename A3> -      T& -      new_node (Path const& file, unsigned long line, unsigned long column, -                A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3) -      { -        return graph_.new_node<T> (file, line, column, a0, a1, a2, a3); -      } - -    public: -      using Scope::add_edge_left; -      using Node::add_edge_right; - -      void -      add_edge_left (Uses& e) -      { -        uses_.push_back (&e); -      } - -      void -      add_edge_right (Uses& e) -      { -        used_.push_back (&e); -      } - -    private: -      typedef std::set<Schema const*> SchemaSet; - -      void -      find_ (Name const& name, NamesList&, SchemaSet&) const; - -    private: -      graph& graph_; - -      UsesList uses_; -      UsedList used_; - -      mutable NamesList names_; -      mutable SchemaSet schemas_; -    }; -  } -} - -#endif  // XSD_FRONTEND_SEMANTIC_GRAPH_SCHEMA_HXX  | 
