ct_common
1.0.1
Common library for combinatorial testing
|
00001 //===----- ct_common/common/exp_s.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 string expressions 00010 // 00011 //===----------------------------------------------------------------------===// 00012 00013 #ifndef CT_COMMON_EXP_S_H_ 00014 #define CT_COMMON_EXP_S_H_ 00015 00016 #include <string> 00017 #include <ct_common/common/utils.h> 00018 #include <ct_common/common/exp.h> 00019 #include <ct_common/common/paramspec.h> 00020 #include <boost/shared_ptr.hpp> 00021 #include <ct_common/common/eval_type_string.h> 00022 00023 namespace ct { 00024 namespace common { 00028 class DLL_EXPORT Exp_S : public Exp { 00029 public: 00030 Exp_S(void); 00031 Exp_S(const Exp_S &from); 00032 Exp_S &operator = (const Exp_S &right); 00033 virtual ~Exp_S(void) = 0; 00034 00035 public: 00036 virtual std::string get_class_name(void) const; 00037 static std::string class_name(void); 00038 00039 public: 00041 virtual EvalType_String Evaluate( const std::vector<boost::shared_ptr<ParamSpec> > ¶m_specs, 00042 const Assignment &assignment) const = 0; 00043 }; 00044 } // namespace common 00045 } // namespace ct 00046 00047 #endif // CT_COMMON_EXP_A_H_