CLASS TEMP(3)

NAME
boost::date_time::special_values_parser - Class for special_value parsing.

SYNOPSIS

// In header: <boost/date_time/special_values_parser.hpp>
template<typename date_type, typename charT>
class special_values_parser {
public:
  // types
  typedef std::basic_string< charT >                string_type;
  typedef std::istreambuf_iterator< charT >         stream_itr_type;
  typedef date_type::duration_type                  duration_type;
  typedef string_parse_tree< charT >                parse_tree_type;
  typedef parse_tree_type::parse_match_result_type  match_results;
  typedef std::vector< std::basic_string< charT > > collection_type;
  typedef charT                                     char_type;
  // construct/copy/destruct
  special_values_parser();
  special_values_parser(const string_type &, const string_type &,
                        const string_type &, const string_type &,
                        const string_type &);
  special_values_parser(typename collection_type::iterator,
                        typename collection_type::iterator);
  special_values_parser(const special_values_parser< date_type, charT > &);
  // public member functions
  void sv_strings(const string_type &, const string_type &,
                  const string_type &, const string_type &,
                  const string_type &);
  bool match(stream_itr_type &, stream_itr_type &, match_results &) const;
  static const char_type nadt_string;
  static const char_type neg_inf_string;
  static const char_type pos_inf_string;
  static const char_type min_date_time_string;
  static const char_type max_date_time_string;
};

DESCRIPTION

TODO: add doc-comments for which elements can be changed Parses input stream for strings representing special_values. Special values parsed are:

    &#8226; not_a_date_time

    &#8226; neg_infin

    &#8226; pod_infin

    &#8226; min_date_time

    &#8226; max_date_time

  special_values_parser public construct/copy/destruct

    1.

    special_values_parser();
    Creates a special_values_parser with the default set of "sv_strings". .RE

        2.

        special_values_parser(const string_type & nadt_str,
                              const string_type & neg_inf_str,
                              const string_type & pos_inf_str,
                              const string_type & min_dt_str,
                              const string_type & max_dt_str);
        Creates a special_values_parser using a user defined set of element strings. .RE

            3.

            special_values_parser(typename collection_type::iterator beg,
                                  typename collection_type::iterator end);

            4.

            special_values_parser(const special_values_parser< date_type, charT > & svp);

  special_values_parser public member functions

    1.

    void sv_strings(const string_type & nadt_str, const string_type & neg_inf_str,
                    const string_type & pos_inf_str,
                    const string_type & min_dt_str,
                    const string_type & max_dt_str);
    Replace special value strings. .RE

        2.

        bool match(stream_itr_type & sitr, stream_itr_type & str_end,
                   match_results & mr) const;
        Sets match_results.current_match to the corresponding special_value or -1. .RE