BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
INode.h File Reference

Description

Defines interface INode.

Homepage:\n http://www.bornagainproject.org
License:\n GNU General Public License v3 or higher (see COPYING)
Authors
Scientific Computing Group at MLZ (see CITATION, AUTHORS)

Definition in file INode.h.

Include dependency graph for INode.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  INode
 Base class for tree-like structures containing parameterized objects. More...
 
struct  ParaMeta
 Metadata of one model parameter. More...
 

Functions

std::vector< const INode * > & operator<< (std::vector< const INode * > &&v_node, const INode *node)
 
template<class T >
std::vector< const INode * > & operator<< (std::vector< const INode * > &&v_node, const std::unique_ptr< T > &node)
 
std::vector< const INode * > & operator<< (std::vector< const INode * > &&v_node, const std::vector< const INode * > &other)
 
std::vector< const INode * > & operator<< (std::vector< const INode * > &v_node, const INode *node)
 
template<class T >
std::vector< const INode * > & operator<< (std::vector< const INode * > &v_node, const std::unique_ptr< T > &node)
 
std::vector< const INode * > & operator<< (std::vector< const INode * > &v_node, const std::vector< const INode * > &other)
 

Variables

const double INF = std::numeric_limits<double>::infinity()
 

Function Documentation

◆ operator<<() [1/6]

std::vector<const INode*>& operator<< ( std::vector< const INode * > &&  v_node,
const INode node 
)
inline

Definition at line 26 of file INode.h.

97 {
98  v_node.push_back(node);
99  return v_node;
100 }

◆ operator<<() [2/6]

template<class T >
std::vector<const INode*>& operator<< ( std::vector< const INode * > &&  v_node,
const std::unique_ptr< T > &  node 
)

Definition at line 26 of file INode.h.

84 {
85  if (node)
86  v_node.push_back(node.get());
87  return v_node;
88 }

◆ operator<<() [3/6]

std::vector<const INode*>& operator<< ( std::vector< const INode * > &&  v_node,
const std::vector< const INode * > &  other 
)
inline

Definition at line 26 of file INode.h.

111 {
112  v_node.insert(v_node.end(), other.begin(), other.end());
113  return v_node;
114 }

◆ operator<<() [4/6]

std::vector<const INode*>& operator<< ( std::vector< const INode * > &  v_node,
const INode node 
)
inline

Definition at line 26 of file INode.h.

91 {
92  v_node.push_back(node);
93  return v_node;
94 }

◆ operator<<() [5/6]

template<class T >
std::vector<const INode*>& operator<< ( std::vector< const INode * > &  v_node,
const std::unique_ptr< T > &  node 
)

Definition at line 26 of file INode.h.

75 {
76  if (node)
77  v_node.push_back(node.get());
78  return v_node;
79 }

◆ operator<<() [6/6]

std::vector<const INode*>& operator<< ( std::vector< const INode * > &  v_node,
const std::vector< const INode * > &  other 
)
inline

Definition at line 26 of file INode.h.

104 {
105  v_node.insert(v_node.end(), other.begin(), other.end());
106  return v_node;
107 }

Variable Documentation

◆ INF

const double INF = std::numeric_limits<double>::infinity()

Definition at line 26 of file INode.h.

Referenced by INode::checkNodeArgs(), FootprintGauss::parDefs(), FootprintSquare::parDefs(), ResolutionFunction2DGaussian::parDefs(), DistributionGate::parDefs(), DistributionLorentz::parDefs(), DistributionGaussian::parDefs(), DistributionLogNormal::parDefs(), DistributionCosine::parDefs(), DistributionTrapezoid::parDefs(), Interference1DLattice::parDefs(), Interference2DParaCrystal::parDefs(), Interference2DSuperLattice::parDefs(), InterferenceHardDisk::parDefs(), InterferenceRadialParaCrystal::parDefs(), InterferenceTwin::parDefs(), ParticleLayout::parDefs(), IsotropicGaussPeakShape::parDefs(), IsotropicLorentzPeakShape::parDefs(), GaussFisherPeakShape::parDefs(), LorentzFisherPeakShape::parDefs(), MisesFisherGaussPeakShape::parDefs(), MisesGaussPeakShape::parDefs(), Profile1DCauchy::parDefs(), Profile1DGauss::parDefs(), Profile1DGate::parDefs(), Profile1DTriangle::parDefs(), Profile1DCosine::parDefs(), Profile1DVoigt::parDefs(), Profile2DCauchy::parDefs(), Profile2DGauss::parDefs(), Profile2DGate::parDefs(), Profile2DCone::parDefs(), Profile2DVoigt::parDefs(), BarGauss::parDefs(), BarLorentz::parDefs(), Bipyramid4::parDefs(), Box::parDefs(), CantellatedCube::parDefs(), Cone::parDefs(), CosineRippleBox::parDefs(), CosineRippleGauss::parDefs(), CosineRippleLorentz::parDefs(), Cylinder::parDefs(), Dodecahedron::parDefs(), EllipsoidalCylinder::parDefs(), HemiEllipsoid::parDefs(), HollowSphere::parDefs(), HorizontalCylinder::parDefs(), Icosahedron::parDefs(), LongBoxGauss::parDefs(), LongBoxLorentz::parDefs(), PlatonicOctahedron::parDefs(), PlatonicTetrahedron::parDefs(), Prism3::parDefs(), Prism6::parDefs(), Pyramid2::parDefs(), Pyramid3::parDefs(), Pyramid4::parDefs(), Pyramid6::parDefs(), SawtoothRippleBox::parDefs(), SawtoothRippleGauss::parDefs(), SawtoothRippleLorentz::parDefs(), Sphere::parDefs(), Spheroid::parDefs(), TruncatedCube::parDefs(), TruncatedSphere::parDefs(), TruncatedSpheroid::parDefs(), LayerRoughness::parDefs(), BasicLattice2D::parDefs(), SquareLattice2D::parDefs(), HexagonalLattice2D::parDefs(), Layer::parDefs(), Crystal::parDefs(), RotationX::parDefs(), RotationY::parDefs(), RotationZ::parDefs(), RotationEuler::parDefs(), FuzzySphere::parDefs(), GaussSphere::parDefs(), and ConstantBackground::parDefs().