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, typename T>
00039 struct SyntacticDecorator;
00040
00041 template<typename S, typename T>
00042 struct MetaElement;
00043
00044 template<typename S, typename T>
00045 struct Element;
00046
00047 struct default_slot_tag {};
00048
00049 template<typename S, typename Tag = default_slot_tag>
00050 struct SetSlot;
00051
00052 template<typename Self>
00053 struct Structure;
00054
00055 template<typename Self>
00056 struct virtual_types;
00057
00058 struct undefined_type {};
00059
00060
00063 }
00064
00065 #endif // ! VCSN_DESIGN_PATTERN_PREDECLS_HH