clipsmm - C++ CLIPS Interface Library

clipsmm logo
template.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (C) 2006 by Rick L. Vinyard, Jr. *
3  * rvinyard@cs.nmsu.edu *
4  * *
5  * This file is part of the clipsmm library. *
6  * *
7  * The clipsmm library is free software; you can redistribute it and/or *
8  * modify it under the terms of the GNU General Public License *
9  * version 3 as published by the Free Software Foundation. *
10  * *
11  * The clipsmm library is distributed in the hope that it will be *
12  * useful, but WITHOUT ANY WARRANTY; without even the implied warranty *
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14  * General Public License for more details. *
15  * *
16  * You should have received a copy of the GNU General Public License *
17  * along with this software. If not see <http://www.gnu.org/licenses/>. *
18  ***************************************************************************/
19 #ifndef CLIPSTEMPLATE_H
20 #define CLIPSTEMPLATE_H
21 
22 #include <vector>
23 
25 #include <clipsmm/value.h>
26 
27 #undef NO_DEFAULT
28 #undef STATIC_DEFAULT
29 #undef DYNAMIC_DEFAULT
30 
31 namespace CLIPS {
32 
33 typedef enum DefaultType {
37 } DefaultType;
38 
42 class Template: public EnvironmentObject {
43 public:
44  typedef CLIPSPointer<Template> pointer;
45 
46  Template( Environment& environment, void* cobj=NULL );
47 
48  static Template::pointer create( Environment& environment, void* cobj=NULL );
49 
50  ~Template();
51 
53  std::string name();
54 
56  std::string module_name();
57 
58  std::string formatted();
59 
61  Values slot_allowed_values( const std::string& slot_name );
62 
64  Values slot_cardinality( const std::string& slot_name );
65 
67  DefaultType slot_default_type( const std::string& slot_name );
68 
70  Values slot_default_value( const std::string& slot_name );
71 
73  Values slot_range( const std::string& slot_name );
74 
76  bool slot_exists( const std::string& slot_name );
77 
79  bool is_multifield_slot( const std::string& slot_name );
80 
82  bool is_single_field_slot( const std::string& slot_name );
83 
85  std::vector<std::string> slot_names();
86 
88  bool is_watched();
89 
91 
92  bool is_deletable();
93 
94  void set_watch( unsigned state );
95 
96  bool retract();
97 
98  protected:
99 
100 };
101 
102 }
103 
104 #endif

Generated on Thu Sep 27 2012 17:57:05 for clipsmm by doxygen 1.8.1.2