00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_DESIGN_PATTERN_PREDECLS_HH
00018 # define VCSN_DESIGN_PATTERN_PREDECLS_HH
00019
00028 # include <vaucanson/config/system.hh>
00029
00031 namespace vcsn {
00032
00035 template<typename S>
00036 struct dynamic_traits;
00037
00038 template<typename S>
00039 struct representation_traits;
00040
00041 template<typename S, typename T>
00042 struct SyntacticDecorator;
00043
00044 template<typename S, typename T>
00045 struct MetaElement;
00046
00047 template<typename S, typename T>
00048 struct Element;
00049
00050 struct default_slot_tag {};
00051
00052 template<typename S, typename Tag = default_slot_tag>
00053 struct SetSlot;
00054
00055 template<typename Self>
00056 struct Structure;
00057
00058 template<typename Self>
00059 struct virtual_types;
00060
00061 struct undefined_type {};
00062
00063
00066 }
00067
00068 #endif // ! VCSN_DESIGN_PATTERN_PREDECLS_HH