ALPSCore reference
iniparser_interface.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1998-2018 ALPS Collaboration. See COPYRIGHT.TXT
3  * All rights reserved. Use is subject to license terms. See LICENSE.TXT
4  * For use in publications, see ACKNOWLEDGE.TXT
5  */
6 
10 #ifndef ALPS_PARAMS_DICT_INIPARSER_INTERFACE_HPP_eeee10ab39ff42f29a29ed6f682e58d9
11 #define ALPS_PARAMS_DICT_INIPARSER_INTERFACE_HPP_eeee10ab39ff42f29a29ed6f682e58d9
12 
13 #include <boost/scoped_ptr.hpp>
14 #include <vector>
15 #include <string>
16 #include <utility> // for std::pair
17 
18 
19 namespace alps {
20  namespace params_ns {
21  namespace detail {
22 
23  class ini_dict_impl;
24 
25  class iniparser {
26  boost::scoped_ptr<ini_dict_impl> ini_dict_ptr_;
27  public:
28  typedef std::pair<std::string, std::string> kv_pair;
29  typedef std::vector<kv_pair> kv_container_type;
30 
32  iniparser(const std::string& inifile);
33 
34  ~iniparser();
35 
37  kv_container_type operator()() const;
38  };
39  } // ::detail
40  } // ::params_ns
41 } // ::alps
42 
43 #endif /* ALPS_PARAMS_DICT_INIPARSER_INTERFACE_HPP_eeee10ab39ff42f29a29ed6f682e58d9 */