summaryrefslogtreecommitdiff
path: root/odb/semantics/class.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/semantics/class.hxx')
-rw-r--r--odb/semantics/class.hxx143
1 files changed, 0 insertions, 143 deletions
diff --git a/odb/semantics/class.hxx b/odb/semantics/class.hxx
deleted file mode 100644
index a70a0bb..0000000
--- a/odb/semantics/class.hxx
+++ /dev/null
@@ -1,143 +0,0 @@
-// file : odb/semantics/class.hxx
-// copyright : Copyright (c) 2009-2019 Code Synthesis Tools CC
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_SEMANTICS_CLASS_HXX
-#define ODB_SEMANTICS_CLASS_HXX
-
-#include <vector>
-#include <odb/semantics/elements.hxx>
-
-namespace semantics
-{
- class class_;
-
- class inherits: public edge
- {
- public:
- typedef semantics::access access_type;
-
- class_&
- base () const
- {
- return *base_;
- }
-
- class_&
- derived () const
- {
- return *derived_;
- }
-
- bool
- virtual_ () const
- {
- return virt_;
- }
-
- access_type
- access () const
- {
- return access_;
- }
-
- public:
- inherits (access_type, bool virt);
-
- void
- set_left_node (class_& n)
- {
- derived_ = &n;
- }
-
- void
- set_right_node (class_& n)
- {
- base_ = &n;
- }
-
- protected:
- bool virt_;
- access_type access_;
-
- class_* base_;
- class_* derived_;
- };
-
- //
- //
- class class_: public virtual type, public scope
- {
- private:
- typedef std::vector<inherits*> inherits_list;
-
- public:
- typedef pointer_iterator<inherits_list::const_iterator> inherits_iterator;
-
- inherits_iterator
- inherits_begin () const
- {
- return inherits_.begin ();
- }
-
- inherits_iterator
- inherits_end () const
- {
- return inherits_.end ();
- }
-
- public:
- bool
- default_ctor () const;
-
- bool
- complete () const;
-
- bool
- abstract () const;
-
- public:
- // When doing lookup in class scope, take into account bases.
- //
- static unsigned int const exclude_base = 0x04; // Exclude base classes.
-
- virtual names*
- lookup (string const& name,
- type_id const&,
- unsigned int flags = 0,
- bool* hidden = 0) const;
-
- using scope::lookup;
-
- public:
- class_ (path const&, size_t line, size_t column, tree);
-
- void
- add_edge_left (inherits& e)
- {
- inherits_.push_back (&e);
- }
-
- void
- add_edge_right (inherits&)
- {
- }
-
- using scope::add_edge_left;
- using type::add_edge_right;
-
- // Resolve conflict between scope::scope and nameable::scope.
- //
- using nameable::scope;
-
- protected:
- class_ ()
- {
- }
-
- private:
- inherits_list inherits_;
- };
-}
-
-#endif // ODB_SEMANTICS_CLASS_HXX