This is Unofficial EPICS BASE Doxygen Site
epics::pvAccess::ConfigurationBuilder Struct Reference

#include "configuration.h"

Public Member Functions

 ConfigurationBuilder ()
 
ConfigurationBuilderpush_env ()
 
ConfigurationBuilderpush_map ()
 
ConfigurationBuilderpush_config (const Configuration::shared_pointer &)
 
template<typename V >
ConfigurationBuilderadd (const std::string &name, const V &val)
 
Configuration::shared_pointer build ()
 

Friends

ConfigurationBuilderoperator<< (ConfigurationBuilder &, const std::string &s)
 

Detailed Description

Definition at line 189 of file configuration.h.

Constructor & Destructor Documentation

epics::pvAccess::ConfigurationBuilder::ConfigurationBuilder ( )

Definition at line 172 of file configuration.cpp.

172 :stack(new ConfigurationStack) {}

Member Function Documentation

template<typename V >
ConfigurationBuilder& epics::pvAccess::ConfigurationBuilder::add ( const std::string &  name,
const V &  val 
)
inline

Definition at line 196 of file configuration.h.

197  {
198  std::ostringstream strm;
199  strm<<val;
200  return _add(name, strm.str());
201  }
Configuration::shared_pointer epics::pvAccess::ConfigurationBuilder::build ( )

Definition at line 205 of file configuration.cpp.

206 {
207  if(!mymap.empty())
208  THROW_EXCEPTION2(std::logic_error, "Missing call to .push_map()");
209  if(stack->size()==0) {
210  return Configuration::shared_pointer(new ConfigurationMap); // empty map
211  } else if(stack->size()==1) {
212  return stack->pop_back();
213  } else {
214  return stack;
215  }
216 }
#define THROW_EXCEPTION2(TYPE, MSG)
ConfigurationBuilder & epics::pvAccess::ConfigurationBuilder::push_config ( const Configuration::shared_pointer &  conf)

Definition at line 190 of file configuration.cpp.

191 {
192  stack->push_back(conf);
193  return *this;
194 }
ConfigurationBuilder & epics::pvAccess::ConfigurationBuilder::push_env ( )

Definition at line 174 of file configuration.cpp.

175 {
176  Configuration::shared_pointer env(new ConfigurationEnviron);
177  stack->push_back(env);
178  return *this;
179 }
ConfigurationBuilder & epics::pvAccess::ConfigurationBuilder::push_map ( )

Definition at line 181 of file configuration.cpp.

182 {
183  Configuration::shared_pointer env(new ConfigurationMap(mymap));
184  stack->push_back(env);
185  mymap.clear();
186  return *this;
187 }

Friends And Related Function Documentation

ConfigurationBuilder& operator<< ( ConfigurationBuilder ,
const std::string &  s 
)
friend

The documentation for this struct was generated from the following files: