Rosetta
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Constraint.hh
Go to the documentation of this file.
1 // -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2 // vi: set ts=2 noet:
3 //
4 // (c) Copyright Rosetta Commons Member Institutions.
5 // (c) This file is part of the Rosetta software suite and is made available under license.
6 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9 
10 /// @file basic/database/schema_generator/Constraints.hh
11 ///
12 /// @brief Constraint class for the schema generator framework
13 /// @author Tim Jacobs
14 
15 #ifndef INCLUDED_basic_database_schema_generator_Constraint_HH
16 #define INCLUDED_basic_database_schema_generator_Constraint_HH
17 
19 
20 #include <iosfwd> // for string
21 #include <platform/types.hh> // for Real
25 
26 namespace basic {
27 namespace database {
28 namespace schema_generator {
29 
31 {
32 public:
33  /// @brief Automatically generated virtual destructor for class deriving directly from ReferenceCount
34  virtual ~Constraint();
35 
36  Constraint(Column column);
37 
38  Constraint(Columns columns);
39 
40  virtual std::string
41  print(
43  ) const=0;
44 
45 protected:
46 
48 };
49 
50 //class ComparisonConstraint : public Constraint
51 //{
52 //public:
53 //
54 // enum ComparisonOperator{
55 // GREATER_THAN,
56 // LESS_THAN,
57 // EQUAL_TO,
58 // NOT_EQUAL_TO
59 // };
60 //
61 // ComparisonConstraint(Column column1, int comparison_operator, Column column2);
62 //
63 // ComparisonConstraint(Column column, int comparator, std::string value);
64 //
65 // ComparisonConstraint(Column, Column);
66 //
67 // std::string print();
68 //
69 //private:
70 // std::string string_value;
71 //
72 //};
73 
74 class UniqueConstraint : public Constraint {
75 public:
76 
77  UniqueConstraint(Column column);
78  UniqueConstraint(Columns columns);
79 
80  std::string
81  print(
83  ) const;
84 };
85 
87 public:
88 
90  Column column,
92 
93  std::string
94  print(
96  ) const;
97 
98 private:
100 };
101 
102 } // schema_generator
103 } // namespace database
104 } // namespace utility
105 #endif
ReferenceCount base class – dispatch class.
virtual std::string print(utility::sql_database::sessionOP) const =0
Base class for reference-counted polymorphic classes.
tuple database
member1 value
Definition: Tag.cc:296
virtual ~Constraint()
Automatically generated virtual destructor for class deriving directly from ReferenceCount.
Definition: Constraint.cc:27
GreaterThanConstraint(Column column, platform::Real value)
Definition: Constraint.cc:81
forwaard header for the constraints class in the schema generator framework
std::string print(utility::sql_database::sessionOP) const
Definition: Constraint.cc:63
forward hearder for the Column class in the schema generator framework
std::string print(utility::sql_database::sessionOP) const
Definition: Constraint.cc:90
pointer::shared_ptr< session > sessionOP