3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-27 06:43:40 +01:00
dft_tools/test/triqs/parameters/simple_p.cpp
Olivier Parcollet af084f5d59 parameters & wrapper
- new parameter class :
  parameters are viewed as form, built in C++, and filled in C++/python.
  Each field of the form as a precise C++ type (erased using standard techniques).
  First tests ok, to be reread/checked.

  TODO : serialization is commented. Lead to long compilation time & large code
  due to boost::serialization. Use h5 when possible.

- wrapper :
  - separated the converters of the wrapped type in the TRIQS library
  - necessary for parameters (it used outside an .so) and potentially
    other codes, outside an .so module
2014-05-19 15:19:18 +02:00

30 lines
531 B
C++

#include <triqs/parameters.hpp>
#include <iostream>
#define TRIQS_ARRAYS_ENFORCE_BOUNDCHECK
using namespace triqs::params;
int main() {
parameters P;
P.add_field("a", 1, "?")
.add_field("d", 2.0, "")
.add_field("s", "", "");
P["a"] = long(1);
P["d"] = 2.7;
P["s"] = std::string("-14.3");
long j = P["a"];
double x = P["d"];
double y = P["a"];
double z = P["s"];
std::cout << j << std::endl ;
std::cout << x << std::endl;
std::cout << y << std::endl ;
std::cout << z << std::endl ;
return 0;
}