Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
PropertyName.h
Go to the documentation of this file.
1 #ifndef JOBOPTIONSVC_PROPERTY_NAME_H_
2 #define JOBOPTIONSVC_PROPERTY_NAME_H_
3 // ============================================================================
4 // Includes:
5 // ============================================================================
6 // STD & STL:
7 // ============================================================================
8 #include "Position.h"
9 #include <string>
10 // ============================================================================
11 namespace Gaudi {
12  namespace Parsers {
13  // ============================================================================
14  class Position;
15  // ============================================================================
16  class PropertyName final {
17  public:
18  // ----------------------------------------------------------------------------
19  explicit PropertyName( std::string property ) : property_( std::move( property ) ) {}
21  : property_( std::move( property ) ), position_( pos ) {}
23  : client_( std::move( client ) ), property_( std::move( property ) ) {}
25  : client_( std::move( client ) ), property_( std::move( property ) ), position_( std::move( pos ) ) {}
26  const std::string& client() const { return client_; }
27  const std::string& property() const { return property_; }
28  const Position& position() const { return position_; }
29  std::string FullName() const;
30  std::string ToString() const;
31  bool HasClient() const { return !client_.empty(); }
32  bool HasPosition() const { return position_.Exists(); }
33 
34  private:
38  };
39  // ============================================================================
40  } // namespace Parsers
41 } // namespace Gaudi
42 // ============================================================================
43 #endif // JOBOPTIONSVC_PROPERTY_NAME_H_
const std::string & property() const
Definition: PropertyName.h:27
T empty(T...args)
std::string ToString() const
Definition: PropertyName.cpp:8
const Position & position() const
Definition: PropertyName.h:28
PropertyName(std::string client, std::string property, Position pos)
Definition: PropertyName.h:24
STL namespace.
const std::string & client() const
Definition: PropertyName.h:26
STL class.
std::string FullName() const
Definition: PropertyName.cpp:6
PropertyName(std::string property, const Position &pos)
Definition: PropertyName.h:20
PropertyName(std::string client, std::string property)
Definition: PropertyName.h:22
bool Exists() const
Definition: Position.h:23
PropertyName(std::string property)
Definition: PropertyName.h:19
Helper functions to set/get the application return code.
Definition: __init__.py:1