| The Gaudi Framework v28r2p1 (f1a77ff4)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

Functions
Analyzer.cpp File Reference
`#include <iostream>`
`#include <memory>`
`#include <boost/format.hpp>`
`#include "Analyzer.h"`
`#include "Parser.h"`
`#include "Messages.h"`
`#include "Catalog.h"`
`#include "Units.h"`
`#include "PragmaOptions.h"`
`#include "Node.h"`
`#include "IncludedFiles.h"`
`#include "PropertyName.h"`
`#include "PropertyValue.h"`
`#include "GaudiKernel/Environment.h"`
Include dependency graph for Analyzer.cpp:

Go to the source code of this file.

## Functions
bool | Unreference (gp::Catalog &catalog, gp::Messages *messages)

## Function Documentation

bool Unreference | ( | gp::Catalog & | catalog,
|  | gp::Messages * | messages
| ) |  |

Definition at line 394 of file Analyzer.cpp.

394 {
395 bool unreference_result = true;
396 for(auto& client : catalog) {
397 for (auto& current : client.second ) {
398 if (current.IsReference()) {
399 gp::PropertyValue& value = current.property_value();
400 const std::vector<std::string>& names = value.Vector();
401 gp::Property* property = catalog.Find(names[0], names[1]);
402 if (!property) {
403 messages->AddError(value.position(),
404 "Could not unreference " + current.ValueAsString());
405 unreference_result = false;
406 }else{
407 value = property->property_value();
408 }
409 }
410 }
411 }
412 return unreference_result;
413 }
property
Gaudi::Details::PropertyBase * property(const std::string &name) const
Property
Gaudi::Details::PropertyBase Property
backward compatibility hack for old Property base class
Definition: PropertyFwd.h:28
std::vector< std::string >