40 if (name.substr(0, 5) ==
"BrLen")
51 const auto* derived =
dynamic_cast<const Self*
>(&other);
52 if (derived ==
nullptr)
58 return this->
getName() == derived->getName();
64 const auto& bppFS = *
this;
65 return typeid (bppFS).hash_code ();
91 auto& v = accessValueConstCast<double>(*this->
dependency (0));
103 :
Value<double>(std::move (deps)) {}
113 const auto* derived =
dynamic_cast<const Self*
>(&other);
114 return derived !=
nullptr;
121 checkNthDependencyIs<ConfiguredParameter>(
typeid (
Self), deps, 0);
122 return cachedAs<ValueFromConfiguredParameter>(c, std::make_shared<ValueFromConfiguredParameter>(std::move (deps)));
137 auto& name = accessValueConstCast<const ConfiguredParameter*>(*this->
dependency (0))->getName();
138 if (name.substr(0, 5) ==
"BrLen")
151 const auto* param = accessValueConstCast<const ConfiguredParameter*>(*this->
dependency (0));
static std::shared_ptr< Self > create(Context &c, const Dimension< T > &dim)
Build a new ConstantOne node of the given dimension.
Context for dataflow node construction.
Base dataflow Node class.
const NodeRef & dependency(std::size_t i) const noexcept
static std::shared_ptr< Self > create(Context &, Args &&... args)
Build a new NumericMutable node with T(args...) value.
virtual void setValue(double value)
virtual double getValue() const
virtual const std::string & getName() const
Abstract Node storing a value of type T.
double & accessValueMutable() noexcept
Defines the basic types of data flow nodes.
void checkDependenciesNotNull(const std::type_info &contextNodeType, const NodeRefVec &deps)
Checks that all dependencies are not null, throws if not.
std::string to_string(const NoDimension &)
std::vector< NodeRef > NodeRefVec
Alias for a dependency vector (of NodeRef).
void checkDependencyVectorSize(const std::type_info &contextNodeType, const NodeRefVec &deps, std::size_t expectedSize)
std::shared_ptr< Node_DF > NodeRef
Specialisation of Dimension<T> for floating point types.