Where A is the number of atoms, and M1 is the first Zagreb index.
template <class HDepletedMolecule> struct quadratic_index : std::binary_function<HDepletedMolecule, size_t,typename HDepletedMolecule::calc_type> { result_type operator()(typename boost::call_traits<first_argument_type>::param_type m, second_argument_type first_zagreb_indx); result_type operator()(boost::call_traits<first_argument_type>::param_type m); };
Argument | Model of |
---|---|
Molecule | cdl::molecule |
first_zagreb_index | size_t |
Argument | Model of |
---|---|
Molecule | cdl::molecule |
// suppose you're streaming a mol format from the stdin: typedef desc_molecular_properties<> desc_mol_props_t; typedef boost::property<mol_propsS, molecular_properties<>, boost::property<descriptors_mol_propsS, desc_mol_props_t> > descr_props_t; typedef molecule<double,descr_props_t> M; morpho::cdl::nail_juice<M> j; morpho::cdl::get_juice_from_stream(std::cin, j, 0, sdf_formatT()); M mol(j); morpho::cdl::quadratic_index<M> QI; std::cout << "Quadratic index of my mol: "; std::cout << QI(mol) << '\n';