|
GAMBIT
v1.5.0-252-gf9a3f78
a Global And Modular Bsm Inference Tool
|
Specialisation of CallFcn for calling 'getter' functions.
More...
#include <spec_fptrfinder.hpp>
template<class HostSpec>
class Gambit::CallFcn< HostSpec, MapTag::Get >
Specialisation of CallFcn for calling 'getter' functions.
Definition at line 774 of file spec_fptrfinder.hpp.
◆ DerivedSpec
template<class HostSpec >
◆ Input
template<class HostSpec >
◆ Model
template<class HostSpec >
◆ MT
template<class HostSpec >
◆ CallFcn()
template<class HostSpec >
◆ operator()()
template<class HostSpec >
Definition at line 790 of file spec_fptrfinder.hpp.
References Gambit::FptrFinder< HostSpec, MTag >::check(), Gambit::FptrFinder< HostSpec, MTag >::check_index_initd(), Gambit::FptrFinder< HostSpec, MTag >::const_fakethis, Gambit::FptrFinder< HostSpec, MTag >::error_code, combine_hdf5::f, Gambit::FptrFinder< HostSpec, MTag >::index1, Gambit::FptrFinder< HostSpec, MTag >::index2, Gambit::FptrFinder< HostSpec, MTag >::it0, Gambit::FptrFinder< HostSpec, MTag >::it0_safe(), Gambit::FptrFinder< HostSpec, MTag >::it0I, Gambit::FptrFinder< HostSpec, MTag >::it0I_safe(), Gambit::FptrFinder< HostSpec, MTag >::it0M, Gambit::FptrFinder< HostSpec, MTag >::it0M_safe(), Gambit::FptrFinder< HostSpec, MTag >::it0W, Gambit::FptrFinder< HostSpec, MTag >::it0W_safe(), Gambit::FptrFinder< HostSpec, MTag >::it1, Gambit::FptrFinder< HostSpec, MTag >::it1_safe(), Gambit::FptrFinder< HostSpec, MTag >::it1I, Gambit::FptrFinder< HostSpec, MTag >::it1I_safe(), Gambit::FptrFinder< HostSpec, MTag >::it1M, Gambit::FptrFinder< HostSpec, MTag >::it1M_safe(), Gambit::FptrFinder< HostSpec, MTag >::it1W, Gambit::FptrFinder< HostSpec, MTag >::it1W_safe(), Gambit::FptrFinder< HostSpec, MTag >::it2, Gambit::FptrFinder< HostSpec, MTag >::it2_safe(), Gambit::FptrFinder< HostSpec, MTag >::it2I, Gambit::FptrFinder< HostSpec, MTag >::it2I_safe(), Gambit::FptrFinder< HostSpec, MTag >::it2M, Gambit::FptrFinder< HostSpec, MTag >::it2M_safe(), Gambit::FptrFinder< HostSpec, MTag >::it2W, Gambit::FptrFinder< HostSpec, MTag >::it2W_safe(), Gambit::FptrFinder< HostSpec, MTag >::ito0, Gambit::FptrFinder< HostSpec, MTag >::ito0_safe(), Gambit::FptrFinder< HostSpec, MTag >::ito1, Gambit::FptrFinder< HostSpec, MTag >::ito1_safe(), Gambit::FptrFinder< HostSpec, MTag >::ito2, Gambit::FptrFinder< HostSpec, MTag >::ito2_safe(), Gambit::FptrFinder< HostSpec, MTag >::label, LOCAL_INFO, Gambit::utils_error(), and Gambit::FptrFinder< HostSpec, MTag >::whichiter.
793 if( ff->error_code==0) 795 const Model& model = ff->const_fakethis->model(); 796 const Input& input = ff->const_fakethis->input(); 797 switch( ff->whichiter ) 801 ff->check( ff->ito0_safe()); 802 result = ff->ito0->second; 805 ff->check( ff->ito1_safe()); 807 result = ( ff->ito1->second).at( ff->index1); 810 ff->check( ff->ito2_safe()); 813 result = ( ff->ito2->second).at( ff->index1).at( ff->index2); 817 ff->check( ff->it0_safe()); 818 typename MT::FSptr f = ff->it0->second; 819 result = (model.* f)(); 822 ff->check( ff->it0M_safe()); 823 typename MT::plainfptrM f = ff->it0M->second; 824 result = (*f)(model); 827 ff->check( ff->it0I_safe()); 828 typename MT::plainfptrI f = ff->it0I->second; 829 result = (*f)(input); 832 ff->check( ff->it1_safe()); 834 typename MT::FSptr1 f = ff->it1->second.fptr; 835 result = (model.* f)( ff->index1); 838 ff->check( ff->it1M_safe()); 839 typename MT::plainfptrM1 f = ff->it1M->second.fptr; 841 result = (*f)(model, ff->index1); 844 ff->check( ff->it1I_safe()); 845 typename MT::plainfptrI1 f = ff->it1I->second.fptr; 847 result = (*f)(input, ff->index1); 850 ff->check( ff->it2_safe()); 853 typename MT::FSptr2 f = ff->it2->second.fptr; 854 result = (model.* f)( ff->index1, ff->index2); 857 ff->check( ff->it2M_safe()); 860 typename MT::plainfptrM2 f = ff->it2M->second.fptr; 861 result = (*f)(model, ff->index1, ff->index2); 864 ff->check( ff->it2I_safe()); 867 typename MT::plainfptrI2 f = ff->it2I->second.fptr; 868 result = (*f)(input, ff->index1, ff->index2); 871 ff->check( ff->it0W_safe()); 872 typename MT::FSptrW f = ff->it0W->second; 878 result = (wrapper->* f)(); 881 ff->check( ff->it1W_safe()); 883 typename MT::FSptr1W f = ff->it1W->second.fptr; 885 result = (wrapper->* f)( ff->index1); 888 ff->check( ff->it2W_safe()); 891 typename MT::FSptr2W f = ff->it2W->second.fptr; 893 result = (wrapper->* f)( ff->index1, ff->index2); 896 std::ostringstream errmsg; 897 errmsg << "Error! Unanticipated whichiter code received while trying to call a function from SubSpectrum maps. This indicates a bug in the FptrFinder class. Please report it! (this FptrFinder has label="<< ff->label<< " and is specialised for Getter maps, current error_code="<< ff->error_code<< ", whichiter="<< ff->whichiter<< ")"<<std::endl; 901 } else if( ff->error_code==-1) 903 std::ostringstream errmsg; 904 errmsg << "Error! Tried to call function from SubSpectrum maps without first finding the function! This indicates a bug, probably in the Spectrum or SubSpectrum classes. Please report it! (this FptrFinder has label="<< ff->label<< " and is specialised for Getter maps, current error_code="<< ff->error_code<< ")"<<std::endl; 907 std::ostringstream errmsg; 908 errmsg << "Error! Unanticipated error code received while trying to call a function from SubSpectrum maps. This indicates a bug in the FptrFinder class. Please report it! (this FptrFinder has label="<< ff->label<< " and is specialised for Getter maps, current error_code="<< ff->error_code<< ")"<<std::endl;
EXPORT_SYMBOLS error & utils_error() Utility errors.
SpecTraits< DerivedSpec >::Input Input
SpecTraits< DerivedSpec >::Model Model
FptrFinder< HostSpec, MapTag::Get > * ff
◆ ff
template<class HostSpec >
The documentation for this class was generated from the following file:
|