| The Gaudi Framework v29r1 (5cd95fa2)

- 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 "Catalog.h"`
`#include "IncludedFiles.h"`
`#include "Messages.h"`
`#include "Node.h"`
`#include "Parser.h"`
`#include "PragmaOptions.h"`
`#include "PropertyName.h"`
`#include "PropertyValue.h"`
`#include "Units.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 370 of file Analyzer.cpp.

371 {
372 bool unreference_result = true;
373 for ( auto& client : catalog ) {
374 for ( auto& current : client.second ) {
375 if ( current.IsReference() ) {
376 gp::PropertyValue& value = current.property_value();
377 const std::vector<std::string>& names = value.Vector();
378 gp::Property* property = catalog.Find( names[0], names[1] );
379 if ( !property ) {
380 messages->AddError( value.position(), "Could not unreference " + current.ValueAsString() );
381 unreference_result = false;
382 } else {
383 value = property->property_value();
384 }
385 }
386 }
387 }
388 return unreference_result;
389 }
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 >