ct_common
1.0.1
Common library for combinatorial testing
|
00001 //===----- ct_common/common/assignment.h ------------------------*- C++ -*-===// 00002 // 00003 // The ct_common Library 00004 // 00005 // This file is distributed under the MIT license. See LICENSE for details. 00006 // 00007 //===----------------------------------------------------------------------===// 00008 // 00009 // This header file contains the base class for assignments, which is inherited 00010 // by tuples and test cases 00011 // 00012 //===----------------------------------------------------------------------===// 00013 00014 #ifndef CT_COMMON_ASSIGNMENT_H_ 00015 #define CT_COMMON_ASSIGNMENT_H_ 00016 00017 #include <vector> 00018 #include <boost/shared_ptr.hpp> 00019 #include <ct_common/common/utils.h> 00020 00021 namespace ct { 00022 namespace common { 00023 00025 class DLL_EXPORT Assignment 00026 { 00027 public: 00028 Assignment(void); 00029 Assignment(const Assignment &from); 00030 Assignment &operator =(const Assignment &right); 00031 virtual ~Assignment(void) = 0; 00032 00034 virtual bool IsContainParam(std::size_t pid) const = 0; 00036 virtual std::size_t GetValue(std::size_t pid) const = 0; 00038 virtual bool IsSubAssignmentOf(const Assignment &assignment) const = 0; 00039 }; 00040 } // namespace common 00041 } // namespace ct 00042 00043 #endif // CT_COMMON_ASSIGNMENT_H_