Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Click here to view the latest version of this page.
PrevUpHomeNext

Class template special_values_parser

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:

  • not_a_date_time

  • neg_infin

  • pod_infin

  • min_date_time

  • 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".
  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.
  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.
  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.

PrevUpHomeNext