00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef PCAP_LIST_OF_TRACES_HH_
00023 # define PCAP_LIST_OF_TRACES_HH_
00024
00025 # include <wipal/tool/list_of_iterables.hh>
00026 # include <wipal/pcap/descriptor.hh>
00027
00028 namespace pcapxx
00029 {
00030
00031 template <class Desc = descriptor<>, class Bottom = tool::bottom>
00032 struct list_of_traces:
00033 public tool::list_of_iterables<Desc,
00034 WP_GET_EXACT(Bottom,
00035 list_of_traces<Desc, Bottom>)>
00036 {
00037 typedef WP_GET_EXACT(Bottom, list_of_traces<Desc, Bottom>) exact_type;
00038 typedef tool::list_of_iterables<Desc, exact_type> super_type;
00039
00040 list_of_traces(const std::string& trace_names = "",
00041 const std::string& separators = ":");
00042
00043 const std::string& file_name() const;
00044 void expect(typename Desc::link_type l) const;
00045
00046 private:
00047 std::string name_;
00048 };
00049
00050 }
00051
00052 namespace tool
00053 {
00054
00055 template <class Desc, class Bottom>
00056 struct types< pcapxx::list_of_traces<Desc, Bottom> >:
00057 public types< list_of_iterables<Desc,
00058 WP_GET_EXACT(Bottom,
00059 pcapxx::list_of_traces<Desc,
00060 Bottom>)> >
00061 {
00062 };
00063
00064 }
00065
00066 # include "list_of_traces.hxx"
00067
00068 #endif // ! PCAP_LIST_OF_TRACES_HH_