ReFRACtor
spectrum_effect.cc
Go to the documentation of this file.
1 #include "spectrum_effect.h"
2 using namespace FullPhysics;
3 
4 #ifdef HAVE_LUA
5 #include "register_lua.h"
8 
9 typedef std::vector<boost::shared_ptr<SpectrumEffect> >::reference
10 (std::vector<boost::shared_ptr<SpectrumEffect> >::*vsevt)(std::vector<boost::shared_ptr<SpectrumEffect> >::size_type);
11 
12 // typedef to distinguish between copying value or moving value (C++11) push_back prototoypes
13 typedef void(std::vector<boost::shared_ptr<SpectrumEffect> >::*pbt1)(
14  const std::vector<boost::shared_ptr<SpectrumEffect> >::value_type&);
15 
16 REGISTER_LUA_CLASS_NAME(std::vector<boost::shared_ptr<SpectrumEffect> >, VectorSpectrumEffect)
17 .def(luabind::constructor<>())
18 .def("size", &std::vector<boost::shared_ptr<SpectrumEffect> >::size)
19 .def("push_back", ((pbt1) &std::vector<boost::shared_ptr<SpectrumEffect> >::push_back))
20 .def("value", ((vsevt) &std::vector<boost::shared_ptr<SpectrumEffect> >::operator[]))
22 
23 typedef std::vector<std::vector<boost::shared_ptr<SpectrumEffect> > >::reference
24 (std::vector<std::vector<boost::shared_ptr<SpectrumEffect> > >::*vvsevt)(std::vector<std::vector<boost::shared_ptr<SpectrumEffect> > >::size_type);
25 
26 typedef void(std::vector<std::vector<boost::shared_ptr<SpectrumEffect> > >::*pbt2)(
27  const std::vector<std::vector<boost::shared_ptr<SpectrumEffect> > >::value_type&);
28 
29 REGISTER_LUA_CLASS_NAME(std::vector<std::vector<boost::shared_ptr<SpectrumEffect> > >, VectorVectorSpectrumEffect)
30 .def(luabind::constructor<>())
31 .def("size", &std::vector<std::vector<boost::shared_ptr<SpectrumEffect> > >::size)
32 .def("push_back", ((pbt2) &std::vector<std::vector<boost::shared_ptr<SpectrumEffect> > >::push_back))
33 .def("value", ((vvsevt) &std::vector<std::vector<boost::shared_ptr<SpectrumEffect> > >::operator[]))
35 
36 #endif
Definition: doxygen.h:52
STL namespace.
#define REGISTER_LUA_CLASS(X)
Definition: register_lua.h:116
void(std::vector< double >::* pbt2)(const std::vector< double >::value_type &)
Definition: register_lua.cc:53
This class models models any effects that need to be applied to high resolution spectra after the rad...
#define REGISTER_LUA_CLASS_NAME(X, Y)
Definition: register_lua.h:129
void(std::vector< std::string >::* pbt1)(const std::vector< std::string >::value_type &)
Definition: register_lua.cc:52
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
#define REGISTER_LUA_END()
Definition: register_lua.h:134
def(luabind::constructor< int >()) .def("rows"
double value(const FullPhysics::AutoDerivative< double > &Ad)

Copyright © 2017, California Institute of Technology.
ALL RIGHTS RESERVED.
U.S. Government Sponsorship acknowledged.
Generated Fri Aug 24 2018 15:44:10