24 const std::string& default_name = 
"SampleBuilderNode";
 
   27 SampleBuilderNode::SampleBuilderNode()
 
   29     setName(default_name);
 
   33     : 
INode(), m_sample_builder(other.m_sample_builder)
 
   35     setName(other.getName());
 
   41         m_sample_builder = other.m_sample_builder;
 
   42         setName(other.getName());
 
   52         throw std::runtime_error(
"SampleContainer::setSampleBuilder() -> Error. " 
   53                                  "Attempt to set null sample builder.");
 
   55     m_sample_builder = sample_builder;
 
   56     setName(m_sample_builder->getName());
 
   57     borrow_builder_parameters();
 
   64     setName(default_name);
 
   66     m_sample_builder.reset();
 
   73     ASSERT(m_sample_builder);
 
   74     return std::unique_ptr<MultiLayer>(m_sample_builder->buildSample());
 
   81     return m_sample_builder;
 
   86 SampleBuilderNode::operator bool()
 const 
   88     return m_sample_builder.get() != 
nullptr;
 
   93 void SampleBuilderNode::borrow_builder_parameters()
 
   97     if (!m_sample_builder)
 
  100     m_sample_builder->parameterPool()->copyToExternalPool(
"", 
parameterPool());
 
Defines the macro ASSERT.
 
Defines pure virtual base class ISampleBuilder.
 
Defines class MultiLayer.
 
Defines class ParameterPool.
 
Defines class SampleBuilderNode.
 
Base class for tree-like structures containing parameterized objects.
 
ParameterPool * parameterPool() const
Returns pointer to the parameter pool.
 
void clear()
Clears the parameter map.
 
Wraps an ISampleBuilder, and puts it in an INode tree.
 
void setSBN(const std::shared_ptr< ISampleBuilder > &sample_builder)
Sets sample builder and borrows its parameters.
 
std::shared_ptr< ISampleBuilder > builder() const
Returns current sample builder.
 
void reset()
Resets to initial state by removing builder and its borrowed parameters.
 
std::unique_ptr< MultiLayer > createMultiLayer()
Creates a multilayer using sample builder.